• 大小: 13KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: C/C++
  • 标签: 课设  

资源简介

3.班级缴费信息管理系统 实现班级的创建、修改、删除功能,能够对班级中的学生信息进行增、删、改操作,并能够对班级应交学费进行计算(本科生学费为专科生学费的80%,研究生学费为本科生学费的70%)。能够按照班级、学号、姓名等对学生缴费情况进行查询,并按照学生缴费金额的多少进行排序显示。如果全班缴纳学费低于总学费的80%则显示欠费学生信息,能查询所有欠费学生信息,也能按条件查询欠费学生的信息。

资源截图

代码片段和文件信息

#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);//输出对应序号,便于操作 
int main()
{
int CLASSSIDTYPEMONEYflagiminglingpqcount=0sum=0turecut=0cla[100]={0}x=0;//cla记录操作4班级信息 
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++;//学生总人数 
}
//选择命令 
while (1)
{
menu();
scanf(“%d“&flag);
switch (flag)
{
case 1:
menu1();
scanf(“%d“&mingling);
switch (mingling)
{
case 1:
//这是该程序一大败笔,就是无法建立一个不含任何学生的班级 
print(head);
printf(“(输入0返回)请输入需要增加的班级的班号“);
scanf(“%d“&CLASSS);
if (q==0)
break;
printf(“输入1表示专科生\n输入2表示本科生\n输入3表示研究生\n“);
printf(“(输入0返回)请输入该班级的类型:“);
scanf(“%d“&TYPE);
printf(“请依次输入一个该班学生的姓名,学号,已缴学费“);
scanf(“%s %d %d“NAME&ID&MONEY);
goto d; 
break;
case 2:
printxuhao(head);
printf(“(输入0返回)请输入需要修改的班级序号:“);
scanf(“%d“&q);
if (q==0)
break;
pre=head->next;
for (i=1;i pre=pre->next;
printf(“该班级信息如下\n%-10d %-20s %-10d %-5d %-10d\n“pre->classspre->namepre->idpre->typepre->money);
printf(“输入1修改该班级编号\n输入2修改该班级类型\n输入0返回上一步\n请输入数字:“);
scanf(“%d“&p);
switch (p)
{
case 1:
printf(“请输入正确的班级编号:“);
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(“请输入正确的班级类型:“);
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返回)请输入需要删除的班级序号:“);
scanf(“%d“&q);
if (q==0) 
break;
pre=head;
current=pre->next;
while (current!=NULL)
{

评论

共有 条评论