資源簡(jiǎn)介
3.班級(jí)繳費(fèi)信息管理系統(tǒng)
實(shí)現(xiàn)班級(jí)的創(chuàng)建、修改、刪除功能,能夠?qū)Π嗉?jí)中的學(xué)生信息進(jìn)行增、刪、改操作,并能夠?qū)Π嗉?jí)應(yīng)交學(xué)費(fèi)進(jìn)行計(jì)算(本科生學(xué)費(fèi)為專科生學(xué)費(fèi)的80%,研究生學(xué)費(fèi)為本科生學(xué)費(fèi)的70%)。能夠按照班級(jí)、學(xué)號(hào)、姓名等對(duì)學(xué)生繳費(fèi)情況進(jìn)行查詢,并按照學(xué)生繳費(fèi)金額的多少進(jìn)行排序顯示。如果全班繳納學(xué)費(fèi)低于總學(xué)費(fèi)的80%則顯示欠費(fèi)學(xué)生信息,能查詢所有欠費(fèi)學(xué)生信息,也能按條件查詢欠費(fèi)學(xué)生的信息。
代碼片段和文件信息
#include
#include
#include
typedef?struct?node?
{
int?classs;
char?name[20];
int?id;
int?type;
int?money;
struct?node?*next;
}Node;
void?welcome();
void?menu();
void?menu1();
void?menu2();
void?menu3();
void?menu5();
void?save(Node?*head);
void?qsortmoney(Node?*head);//鏈表排序?
void?qsortid(Node?*head);//鏈表排序?
void?print(Node?*head);//輸出?
void?printxuhao(Node?*head);//輸出對(duì)應(yīng)序號(hào),便于操作?
int?main()
{
int?CLASSSIDTYPEMONEYflagiminglingpqcount=0sum=0turecut=0cla[100]={0}x=0;//cla記錄操作4班級(jí)信息?
char?NAME[20];?
Node?*head*pre*current*next;
pre=(Node?*)malloc(sizeof(Node));
head=(Node?*)malloc(sizeof(Node));
next=(Node?*)malloc(sizeof(Node));
head->next=NULL;
pre=head;
welcome();
//讀入文件?
FILE?*fp;
fp=fopen(“123.txt““r“);
//建立鏈表?
while?(fscanf(fp“%d?%s?%d?%d?%d“&CLASSSNAME&ID&TYPE&MONEY)>0)
{
current=(Node?*)malloc(sizeof(Node));
pre->next=current;
current->next=NULL;
current->classs=CLASSS;
strcpy(current->nameNAME);
current->id=ID;
current->type=TYPE;
current->money=MONEY;
pre=current;
cut++;//學(xué)生總?cè)藬?shù)?
}
//選擇命令?
while?(1)
{
menu();
scanf(“%d“&flag);
switch?(flag)
{
case?1:
menu1();
scanf(“%d“&mingling);
switch?(mingling)
{
case?1:
//這是該程序一大敗筆,就是無(wú)法建立一個(gè)不含任何學(xué)生的班級(jí)?
print(head);
printf(“(輸入0返回)請(qǐng)輸入需要增加的班級(jí)的班號(hào)“);
scanf(“%d“&CLASSS);
if?(q==0)
break;
printf(“輸入1表示??粕鶿n輸入2表示本科生\n輸入3表示研究生\n“);
printf(“(輸入0返回)請(qǐng)輸入該班級(jí)的類型:“);
scanf(“%d“&TYPE);
printf(“請(qǐng)依次輸入一個(gè)該班學(xué)生的姓名,學(xué)號(hào),已繳學(xué)費(fèi)“);
scanf(“%s?%d?%d“NAME&ID&MONEY);
goto?d;?
break;
case?2:
printxuhao(head);
printf(“(輸入0返回)請(qǐng)輸入需要修改的班級(jí)序號(hào):“);
scanf(“%d“&q);
if?(q==0)
break;
pre=head->next;
for?(i=1;i pre=pre->next;
printf(“該班級(jí)信息如下\n%-10d?%-20s?%-10d?%-5d?%-10d\n“pre->classspre->namepre->idpre->typepre->money);
printf(“輸入1修改該班級(jí)編號(hào)\n輸入2修改該班級(jí)類型\n輸入0返回上一步\n請(qǐng)輸入數(shù)字:“);
scanf(“%d“&p);
switch?(p)
{
case?1:
printf(“請(qǐng)輸入正確的班級(jí)編號(hào):“);
scanf(“%d“&CLASSS);
current=head->next;
while?(current!=NULL)
{
if?(current->classs==pre->classs)
current->classs=CLASSS;
current=current->next;
}
break;
case?2:
printf(“輸入1表示專科生\n輸入2表示本科生\n輸入3表示研究生\n“);
printf(“請(qǐng)輸入正確的班級(jí)類型:“);
scanf(“%d“&TYPE);
current=head->next;
while?(current!=NULL)
{
if?(current->classs==pre->classs)
current->type=TYPE;
current=current->next;
}
break;
}
save(head);
break;
case?3:
printxuhao(head);
printf(“(輸入0返回)請(qǐng)輸入需要?jiǎng)h除的班級(jí)序號(hào):“);
scanf(“%d“&q);
if?(q==0)?
break;
pre=head;
current=pre->next;
while?(current!=NULL)
{
評(píng)論
共有 條評(píng)論