میتونید همین کد رو ارتقا بدید و مشکلاتشو برطرف کنید. به نظرم برای شروع خوب و ساده هست.
Printable View
میتونید همین کد رو ارتقا بدید و مشکلاتشو برطرف کنید. به نظرم برای شروع خوب و ساده هست.
سلام دوستان میخواستم این برنامه رو که با struct در زبان C# نوشته شده رو به کلاس در زبان C++ تبدیل کنم . ممنون میشم اگر کسی میدونه راهنمایی کنه .using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication17
{
public struct smartcard
{
public long id;
public string plk;
public string nm;
public short tp;
public float bl;
}
class Program
{
public static smartcard [] cards=new smartcard [1000];
static void Main(string[] args)
{
int noc;
Console.WriteLine("enter the number of smart cards:");
noc=Int32.Parse(Console.ReadLine());
for(int i=0;i<noc;i++)
{
Console.WriteLine("enter id,plk,nm,bl,tp(1=savari , 2=vanet)");
cards[i].id = long.Parse(Console.ReadLine());
cards[i].plk = Console.ReadLine();
cards[i].nm = Console.ReadLine();
cards[i].bl = float.Parse(Console.ReadLine());
cards[i].tp = short.Parse(Console.ReadLine());
}
int c;
while (true)
{
Console.WriteLine("enter a number:");
c = Int32.Parse(Console.ReadLine());
switch (c)
{
case 1:
{
for (int i = 0; i < noc; i++)
sort();
break;
}
case 2:
{
float used, balance;
long idno;
Console.WriteLine("enter your id & mizane masraf:");
idno = long.Parse(Console.ReadLine());
used = float.Parse(Console.ReadLine());
if (amend('d', idno, used, ref balance) == 1)
Console.WriteLine("{0},{1}", balance, idno);
else Console.WriteLine("sahmieh kafi nist,{0}", idno);
break;
}
case 3:
{
float used=0, balance=0;
long idno=0;
amend('c', idno, used, ref balance);
break;
}
case 4:
{
for (int i = 0; i < noc; i++)
Console.WriteLine("{0}",cards[i]);
break;
}
default:
{
Console.WriteLine("entekhabe ghalat!");
break;
}
}
}
}
public static void sort()
{
for (int i = 999; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
if (string.Compare(cards[j].nm, cards[j + 1].nm) > 0)
{
smartcard temp;
temp = cards[j];
cards[j]=cards[j+1];
cards[j + 1] = temp;
}
}
}
}
public static int amend (char actn, long idno, float used, ref float balance)
{
switch (actn)
{
case 'd':
{
int i;
for (i = 0; i < 1000 && cards[i].id != idno;i++ ) ;
if (cards[i].bl >= used)
{
cards[i].bl = used - cards[i].bl;
balance = cards[i].bl;
return 1;
}
else return 0;
break;
}
case 'c':
{
for (int i = 0; i < 1000; i++)
{
if (cards[i].tp == 1)
cards[i].bl += 60;
else cards[i].bl += 300;
return 1;
}
break;
}
}
}
}
}