编写c语言程序 按提示输入学生的学号,通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?...

1· 要做一个学生信息管理系统,首先这个系统要方便操作,登录到系统后学生的信息一目了然

2·1)用自定义结构体设计该系统的数据连接

2)用数组或指针链表将所有学生的数据按学号顺序链接起来

3)程序能够显示已经输入的指定学号学生的个人信息

3·该结构系统学生登录能够查看数据,教师登录不仅能查看数据还能修改数据。

设计产品管理系统

1·产品需求分析

2·概要设计

3·详细设计

4·编写代码

5·程序分析

超市商品管理系统# include 

# include 

# include 

#include //用getch();

using namespace std;

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌commodity类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

class commodity

{

public:

char name[20];

char Id[20];

int buy;//进货价;

int sale;//卖出价;

int amount;//数量;

int sum;//利润;

commodity * Next;

void Input()

{

cout<>name;

cout<>Id;

cout<>buy;

cout<>sale;

cout<>amount;

sum=(sale-buy)*amount;

}

void ReadFile(istream & in)

{

in>>name>>Id>>sale>>buy>>sum;

}

void Show()

{

cout<

amount<

}

};

//﹌﹌﹌﹌﹌﹌﹌﹌﹌Commoditymassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

class Commoditymassage

{

public:

Commoditymassage();

~Commoditymassage();

void ShowMenu();

void Find();

void Save();

void ModifyItem();

void RemoveItem();

void Swap(commodity *,commodity *);

void Sort();

int ListCount();

void Display()

{

for(commodity * p=Head->Next;p!=End;p=p->Next)

p->Show();

cout<

getch();

}

void AddItem()

{

End->Input();

End->Next=new commodity;

End=End->Next;

cout<

cout<

getch();

}

private:

commodity * Head,* End;

ifstream in;

ofstream out;

commodity *FindItem(char * name)

{

for(commodity * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空

if(!strcmp(p->Next->name,name))return p;

return NULL;

}

commodity *FindID(char * Id)

{

for(commodity * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空

if(!strcmp(p->Next->Id,Id))return p;

return NULL;

}

};

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

Commoditymassage::Commoditymassage()

{

Head=new commodity;

Head->Next=new commodity;

End=Head->Next;

in.open("sort.txt");

if(!in)

cout<

else

{

while(!in.eof())

{

End->ReadFile(in);

if(End->name[0]=='\0')break;

End->Next=new commodity;

End=End->Next;

}

in.close();

cout<

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

Commoditymassage::~Commoditymassage()

{

Save();

for(commodity * temp;Head->Next!=End;)

{

temp=Head->Next;

Head->Next=Head->Next->Next;

delete temp;

}

delete Head,End;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Commoditymassage::ShowMenu()

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Commoditymassage::Find()

{

char name[20] ,Id[10];

int x;

commodity * p=NULL;

cout<

cout<

cout<

cin>>x;

switch(x)

{

case 1:{cout<>name;

if(p=FindItem(name))

{

p->Next->Show();

cout<

getch();

}

else

{

cout<

cout<

getch();

}

}break;

case 2:

{

cout<>Id;

if(p=FindID(Id))

{

p->Next->Show();

cout<

getch();

}

else

{

cout<

cout<

getch();

}

}break;

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改商品信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Commoditymassage::ModifyItem()     //修改商品信息

{

char name[20];

commodity * p=NULL;

cout<>name;

if(p=FindItem(name))

{

cout<

p->Next->Input();

cout<

cout<

getch();

}

else

{

cout<

cout<

getch();

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Commoditymassage::RemoveItem()         // 删除信息

{

char name[20];

commodity * p=NULL,*temp=NULL;

cout<>name;

if(p=FindItem(name))

{

temp=p->Next;

p->Next=p->Next->Next;

delete temp;

cout<

cout<

getch();

}

else

{

cout<

cout<

getch();

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Commoditymassage::Swap(commodity *p1, commodity *p2)//交换两个combox变量的数据域

{

commodity *temp=new commodity;

strcpy(temp->name,p1->name);

strcpy(temp->Id,p1->Id);

temp->sale=p1->sale;

temp->buy=p1->buy;

temp->sum=p1->sum;

strcpy(p1->name,p2->name);

strcpy(p1->Id,p2->Id);

p1->sale=p2->sale;

p1->buy=p2->buy;

p1->sum=p2->sum;

strcpy(p2->name,temp->name);

strcpy(p2->Id,temp->Id);

p2->sale=temp->sale;

p2->buy=temp->buy;

p2->sum=temp->sum;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

int Commoditymassage::ListCount()//统计当前链表的记录总数,返回一个整数

{

if(! Head)

return 0;

int n=0;

for(commodity * p=Head->Next;p!=End;p=p->Next)

{

n++;

}

return n;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Commoditymassage::Sort()//对当前链表进行排序

{

cout <

commodity *p=NULL,*p1=NULL,*k=NULL;

int n=Commoditymassage::ListCount();

if(n<2)

return;

for(p=Head->Next;p!=End;p=p->Next)

for(k=p->Next;k!=End;k=k->Next)

{

if(p->sum>k->sum)

{

Commoditymassage::Swap(p,k);

}

}

cout <

getch();

return;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Commoditymassage::Save()

{

out.open("sort.txt");

for(commodity *p=Head->Next;p!=End;p=p->Next)

out<name<Id<sum<

out.close();

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

int main()

{

int x,i=0;

bool quit=false;

cout<

for(i=0;i<3;i++)

cout<

cout<

for(i=0;i<3;i++)

cout<

cout<

Commoditymassage Grade;

cout<

getch();

while(!quit)

{

system("cls");

Grade.ShowMenu();

cin>>x;

switch(x)

{

case 0:quit=true;break;

case 1:Grade.AddItem();break;

case 2:Grade.Display();break;

case 3:Grade.Sort();break;

case 4:Grade.Find();break;

case 5:Grade.RemoveItem();break;

case 6:Grade.ModifyItem();break;

}

}

return 0;

150809324

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值