资源简介
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)
{
- 上一篇:观察者模式 c++ 实现
- 下一篇:K最短路算法实现(KSP)
相关资源
- 操作系统课设 读写者问题 c语言实现
- C语言课设计算器
- 操作系统课程设计(银行家算法)附
- C++操作系统课设-进程管理
- 计算机网络课设-邮件客户端实现(含
- DES文件加密解密系统 密码学课设
- 竞赛成绩管理系统 C++
- c语言课程设计 学生考勤系统报告
- C++可视化MFC课设_五子棋带报告
- 图书馆管理系统C++243872
- 计算机网络课设代码+报告
- c++书店管理系统课设
- 图书馆管理系统c++课设
- VC6.0进程调度算法实现,作业调度 有
- MFC课设代码(扫雷游戏
- 16C++MFC课程设计之吹泡泡游戏
- C++课程设计贪吃蛇源码+课设报告
- c++课设仓库物流管理系统
- 课设FTPwinsock
- MFC 浏览器
- 图书管理系统C++课设
- 数据库课设-图书管理系统
- 标准化考试系统 C++课设
- 基于UDP的通信程序设计
- 兰州理工大学C++课设 班级考勤管理系
- 兰州理工大学C++课设 学生选课管理系
- 数据库课设SQL Server 2000 + Visual C++客户
- 用C++写的航空售票系统数据结构课设
- 操作系统课设源代码 模拟进程的并
- 英语小词典数据结构课设 C++
评论
共有 条评论