C语言设计一个学生学籍管理系统,要求文件形式保存,且用到链表
到CSDN下载频道搜一下C语言课设学生信息管理系统,或者百度一下,基本上大学的C语言课设很多都是这个,有人共享的
#include
#include
#include
//链表结点结构体声明
typedef struct subjects
{
char name[20];
float score;
}sub;
typedef struct student
{
int num;
char name[20];
sub subject[3];
struct student* next;
}stu,*pstu;
#define SIZE sizeof(stu)
//函数申明
pstu LoadInfo();
void PrintMenu();
pstu AddStu(pstu );
pstu DeleStu(pstu );
pstu RwrStu(pstu );
void FindStu(pstu , char );
void Count(pstu ,char * ,float ,float );
void Rank(pstu ,char * );
void SaveQuit(pstu );
//创建菜单,进入选择循环
while(1)
{
PrintMenu();
printf("请输入您的选择编号:");
scanf("%d",&n);
getchar();
switch(n)
{
case 1:
{
system("cls");
j=0;
while(4!=j)
{
printf("欢迎进入信息管理版块!
");
printf("\025 1、添加学生
");
printf("\025 2、删除学生
");
printf("\025 3、修改学生信息
");
printf("\025 4、返回
");
printf("请输入您的选择编号:
");
scanf("%d",&j);
getchar();
if ( 1 == j) head = AddStu(head);
else if( 2 == j) head = DeleStu(head);
else if( 3 == j) head = RwrStu(head);
else if( 4 == j) ;
else printf("输入有误,请重新输入!
");
}
case 2:
{
//信息查询
system("cls");
printf("欢迎进入信息查询版块!
");
printf("请输入要查询的学生编号:");
scanf("%d",&j);
getchar();
//printf("%d
",j); //检测输入是否成功,调试程序用
FindStu(head,j); //查询并输出
printf("
请输入回车键返回主菜单!");
getchar();
system("cls");
break;
}
扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
参考资料来源:百度百科-c语言
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//链表结点结构体声明
typedef struct subjects
{
char name[20];
float score;
}sub;
typedef struct student
{
int num;
char name[20];
sub subject[3];
struct student* next;
}stu,*pstu;
#define SIZE sizeof(stu)
//函数申明
pstu LoadInfo();
void PrintMenu();
pstu AddStu(pstu );
pstu DeleStu(pstu );
pstu RwrStu(pstu );
void FindStu(pstu , char );
void Count(pstu ,char * ,float ,float );
void Rank(pstu ,char * );
void SaveQuit(pstu );
//主函数
int main()
{
float score1,score2;
char n,j;
char subname[20];
pstu head,ptr;
head = LoadInfo();
ptr = head->next;
//创建菜单,进入选择循环
while(1)
{
PrintMenu();
printf("请输入您的选择编号:");
scanf("%d",&n);
getchar();
switch(n)
{
case 1:
{
system("cls");
j=0;
while(4!=j)
{
printf("欢迎进入信息管理版块!
");
printf("\025 1、添加学生
");
printf("\025 2、删除学生
");
printf("\025 3、修改学生信息
");
printf("\025 4、返回
");
printf("请输入您的选择编号:
");
scanf("%d",&j);
getchar();
if ( 1 == j) head = AddStu(head);
else if( 2 == j) head = DeleStu(head);
else if( 3 == j) head = RwrStu(head);
else if( 4 == j) ;
else printf("输入有误,请重新输入!
");
}
printf("请输入回车键返回主菜单!"); //此处本意按任意键返回,但是任意键的话,需要按键A,再按回车确定
getchar(); //则会连续收到两个按键,造成错误读入,可以改进scanf接收字符串,
system("cls"); //以下所有getchar()、system("cls")同理
break;
}
case 2:
{
//信息查询
system("cls");
printf("欢迎进入信息查询版块!
");
printf("请输入要查询的学生编号:");
scanf("%d",&j);
getchar();
//printf("%d
",j); //检测输入是否成功,调试程序用
FindStu(head,j); //查询并输出
printf("
请输入回车键返回主菜单!");
getchar();
system("cls");
break;
}
case 3:
{
//成绩统计
system("cls");
printf("欢迎进入成绩统计版块!
");
printf("请输入科目:");
scanf("%s",&subname);
getchar();
printf("请输入分数范围(score1,score2):");
scanf("%f,%f",&score1,&score2);
getchar();
/*printf("%s %5.2f %5.2f
",subname,
score1,score2); */ //检测输入是否成功,调试程序用
Count(head,subname,score1,score2); //统计并输出
printf("请输入回车键返回主菜单!");
getchar();
system("cls");
break;
}
case 4:
{
//成绩排序
system("cls");
printf("欢迎进入成绩排序版块,请输入科目:");
scanf("%s",&subname);
getchar();
Rank(head,subname); //排序并输出
printf("
请输入回车键返回主菜单!
");
getchar();
system("cls");
break;
}
case 5:
{
//保存退出
SaveQuit(head); //文件操作,保存并退出
free(head);
return 0;
}
default:
{
printf("输入有误,按回车键重新选择!
"); //主菜单错误输出检测
getchar();
system("cls");
}
}
}
}
//加载data数据 ,文件操作
pstu LoadInfo()
{
int num;
char name[20];
char sub1[20];
char sub2[20];
char sub3[20];
float score1;
float score2;
float score3;
char filename[] = "D:\\编程学习\\编程实践\\c语言课程设计1 学生信息管理\\data.txt"; //文件名,此处为简化编程,采用固定地址名称,未作输入
FILE *fp;
pstu head,ptr;
//创建带表头结点的空单链表head,用来存放载入信息
head = (pstu)malloc(SIZE);
ptr = head;
ptr->next = NULL;
//加载data文件,存入head链表
if( NULL == (fp = fopen(filename,"r")) ) //判断文件是否存在及可读
{
printf("error!");
exit(0);
}
while (!feof(fp))
{
fscanf(fp,"%d %s %s %f %s %f %s %f
",&num,&name,
&sub1,&score1,&sub2,&score2,&sub3,&score3); //读取一行,采用格式化读取,避免了其他各种读取方法的数据处理问题
//该方法缺点明显,对数据格式要求教研,故data文件规定数据格式
ptr->next = (pstu)malloc(SIZE);
ptr = ptr->next;
ptr->next = NULL;
ptr->num = num;
strcpy(ptr->name,name);
strcpy(ptr->subject[0].name,sub1);
ptr->subject[0].score = score1;
strcpy(ptr->subject[1].name,sub2);
ptr->subject[1].score = score2;
strcpy(ptr->subject[2].name,sub3);
ptr->subject[2].score = score3;
}
fclose(fp); //关闭文件,已得到保存data信息的链表head
return head;
}
//打印主菜单
void PrintMenu()
{
printf("***************************************
");
printf(" 枫枫学生信息管理系统
");
printf("***************************************
");
putchar('
');
printf("菜单
");
printf("\025 1、信息管理
");
printf("\025 2、信息查询
");
printf("\025 3、成绩统计
");
printf("\025 4、成绩排序
");
printf("\025 5、保存退出
");
}
//添加学生
pstu AddStu(pstu x)
{
char namestu[20];
char *p;
char subname1[20],subname2[20],subname3[20];
pstu head,ptr;
head = x;
ptr = head;
while( NULL != ptr->next ) //遍历链表,找到链尾结点
{
ptr = ptr->next;
}
ptr->next = (pstu)malloc(SIZE); //默认在链表末追加添加信息
ptr = ptr->next;
ptr->next = NULL;
printf("请输入添加学生的信息:
");
printf("请输入添加学生的学号:");
scanf("%d",&ptr->num);
getchar();
printf("请输入添加学生的姓名:");
scanf("%s",namestu);
getchar();
p = namestu;
strcpy(ptr->name,p);
printf("请输入添加学生的科目1名称:");
scanf("%s",&subname1);
getchar();
p = subname1;
strcpy(ptr->subject[0].name,p);
printf("请输入添加学生的科目1成绩:");
scanf("%f",&ptr->subject[0].score);
getchar();
printf("请输入添加学生的科目2名称:");
scanf("%s",&subname2);
getchar();
p = subname2;
strcpy(ptr->subject[1].name,p);
printf("请输入添加学生的科目2成绩:");
scanf("%f",&ptr->subject[1].score);
getchar();
printf("请输入添加学生的科目3名称:");
scanf("%s",&subname3);
getchar();
p = subname3;
strcpy(ptr->subject[2].name,p);
printf("请输入添加学生的科目3成绩:");
scanf("%f",&ptr->subject[2].score);
getchar();
putchar('
');
return head;
}
//删除学生
pstu DeleStu(pstu x)
{
int num;
pstu head,ptr,qtr;
head = x;
ptr = head->next;
qtr = head;
printf("请输入要删除的学生的学号:");
scanf("%d",&num);
getchar();
while(ptr!=NULL)
{
if( ptr->num != num) //遍历查找链表结点,未找到跳过该结点
{
ptr = ptr->next;
qtr = qtr->next;
}
else //找到则删除结点
{
ptr = ptr->next;
qtr->next = ptr;
break;
}
}
printf("该学生信息已删除!
");
return head;
}
//修改学生信息
pstu RwrStu(pstu x)
{
char namestu[20];
char *p;
char subname1[20],subname2[20],subname3[20];
int num;
pstu head,ptr;
head = x;
ptr = head->next;
printf("请输入要修改的学生的学号:");
scanf("%d",&num);
getchar();
while(ptr!=NULL)
{
if( ptr->num == num )
{
printf("已找到该学生信息,请填入修改项目:");
printf("请输入修改学生的姓名:");
scanf("%s",namestu);
getchar();
p = namestu;
strcpy(ptr->name,p);
printf("请输入修改学生的科目1名称:");
scanf("%s",subname1);
getchar();
p = subname1;
strcpy(ptr->subject[0].name,p);
printf("请输入修改学生的科目1成绩:");
scanf("%f",&ptr->subject[0].score);
getchar();
printf("请输入修改学生的科目2名称:");
scanf("%s",subname2);
getchar();
p = subname2;
strcpy(ptr->subject[1].name,p);
printf("请输入修改学生的科目2成绩:");
scanf("%f",&ptr->subject[1].score);
getchar();
printf("请输入修改学生的科目3名称:");
scanf("%s",subname3);
getchar();
p = subname3;
strcpy(ptr->subject[2].name,p);
printf("请输入修改学生的科目3成绩:");
scanf("%f",&ptr->subject[2].score);
getchar();
printf("该学生信息已修改!
");
break;
}
else
{
ptr = ptr->next;
}
}
return head;
}
//查找学生,参数为链表指针,和学生学号
//不好,应该将学号输入放进子函数,简化主函数结构,减少子函数参数
void FindStu(pstu x,char y)
{
pstu head,ptr;
head = x;
ptr = head->next;
while( ptr != NULL)
{
if( ptr->num == (int)y) //因主函数中为节省空间,学号输入采用char数据,故强行准换
{
printf("已找到该学生信息!
如下:");
printf("%03d %s %s %5.2f %s %5.2f %s %5.2f
",
ptr->num,ptr->name,ptr->subject[0].name,ptr->subject[0].score,ptr->subject[1].name,ptr->subject[1].score,ptr->subject[2].name,ptr->subject[2].score); break; //注意此处找到并输出信息后要手动退出循环
}
else
{
ptr = ptr->next;
}
}
if( ptr == NULL ) //查询成功检测,while循环中若找到,则ptr停留在当前学生的结点上
{
printf("未能找到该学生信息!
");
}
}
//统计科目分数区间段的学生,参数为链表指针,科目名称,分数区间上下限
//同理,参数的录入应放入子函数,简化结构和编程
void Count(pstu x,char *y,float q,float p)
{
pstu head,ptr;
char name[20];
char flag=0; //手动设置的查找结果flag
head = x;
ptr = head->next;
strcpy(name,y);
//printf("%s %5.2f %5.2f
",name,q,p); //检测输入参数的传递,调试程序用
while( ptr != NULL) //开始查找统计,科目查找用strcmp函数比较科目字符串,返回值0为字符串相等
{ //此处while循环体中,重复的查找步骤太多,应设置科目匹配flag,参照rank()函数
if( strcmp(name,ptr->subject[0].name) == 0 ) //通过flag将科目确认放在while之外,循环体内只做分数区间的扫描和输出
{
if( q <= ptr->subject[0].score && ptr->subject[0].score<= p )
{
printf("%03d %s %s %5.2f
",ptr->num,ptr->name,ptr->subject[0].name,ptr->subject[0].score);
flag++;
}
}
if( strcmp(name,ptr->subject[1].name) == 0 )
{
if( q <= ptr->subject[1].score && ptr->subject[1].score<= p )
{
printf("%03d %s %s %5.2f
",ptr->num,ptr->name,ptr->subject[1].name,ptr->subject[1].score);
flag++;
}
}
if( strcmp(name,ptr->subject[2].name) == 0 )
{
if( q <= ptr->subject[2].score && ptr->subject[2].score<= p )
{
printf("%03d %s %s %5.2f
",ptr->num,ptr->name,ptr->subject[2].name,ptr->subject[2].score);
flag++;
}
}
ptr = ptr->next;
}
if(flag==0)
{
printf("未能找到该课程该区间分数段的学生!
");
}
}
//学科成绩排名,采用交换数据的方法,参数为链表指针,科目名称
//同理参数问题
//链表排序问题,此处用交换结点数据方法,还有其他多种排序方法
//如,交换结点,辅助指针数组排序(未实现,过程繁杂),插入法排序等
void Rank(pstu x,char *y)
{
pstu head,ptr,qtr;
char name[20];
char len=0;
char flag=0; //简化算法,设置科目查找结果判断值,flag=0表示科目输入为未知科目,不存在
int i=0; //i、j循环次数控制参数
int j=0;
char temp_name[20]; //数据交换时的暂存信息变量
float temp0,temp1,temp2;
int temp_num;
strcpy(name,y);
head = x;
ptr = head->next;
while( ptr != NULL) //测链表长度,不包括表头结点
{
ptr = ptr->next;
len++;
}
ptr = head->next; //指针ptr用过之后记得回原位
//开始查找科目
if( strcmp(name,ptr->subject[0].name) == 0) flag=1;
if( strcmp(name,ptr->subject[1].name) == 0) flag=2;
if( strcmp(name,ptr->subject[2].name) == 0) flag=3;
if( flag == 0)
{
printf("未找到该科目!");
return;
}
//开始排序,冒泡法比较各结点数据
//此处3个并列的if用switch case更清晰结构
if( n == 1 )
{
for( i=0;i<len;i++)
{
ptr = head->next->next; //每一次内循环之后,ptr、qtr必然在最后两个节点上
qtr = head->next; //故在进行内循环之前,要重新复位ptr、qtr
for( j=0;j<len-i-1;j++)
{
if( qtr->subject[0].score < ptr->subject[0].score )
{
temp_num = qtr->num; //交换数据,因数据格式(科目顺序)明确规定,故不再做科目名称的替换
strcpy(temp_name,qtr->name);
temp0 = qtr->subject[0].score;
temp1 = qtr->subject[1].score;
temp2 = qtr->subject[2].score;
qtr->num = ptr->num;
strcpy(qtr->name,ptr->name);
qtr->subject[0].score = ptr->subject[0].score;
qtr->subject[1].score = ptr->subject[1].score;
qtr->subject[2].score = ptr->subject[2].score;
ptr->num = temp_num;
strcpy(ptr->name,temp_name);
ptr->subject[0].score = temp0;
ptr->subject[1].score = temp1;
ptr->subject[2].score = temp2;
}
qtr = qtr->next;
ptr = ptr->next;
}
}
}
if( n == 2 )
{
for( i=0;i<len;i++)
{
ptr = head->next->next;
qtr = head->next;
for( j=0;j<len-i-1;j++)
{
if( qtr->subject[1].score < ptr->subject[1].score )
{
temp_num = qtr->num;
strcpy(temp_name,qtr->name);
temp0 = qtr->subject[0].score;
temp1 = qtr->subject[1].score;
temp2 = qtr->subject[2].score;
qtr->num = ptr->num;
strcpy(qtr->name,ptr->name);
qtr->subject[0].score = ptr->subject[0].score;
qtr->subject[1].score = ptr->subject[1].score;
qtr->subject[2].score = ptr->subject[2].score;
ptr->num = temp_num;
strcpy(ptr->name,temp_name);
ptr->subject[0].score = temp0;
ptr->subject[1].score = temp1;
ptr->subject[2].score = temp2;
}
qtr = qtr->next;
ptr = ptr->next;
}
}
}
if( n == 3 )
{
for( i=0;i<len;i++)
{
ptr = head->next->next;
qtr = head->next;
for( j=0;j<len-i-1;j++)
{
if( qtr->subject[2].score < ptr->subject[2].score )
{
temp_num = qtr->num;
strcpy(temp_name,qtr->name);
temp0 = qtr->subject[0].score;
temp1 = qtr->subject[1].score;
temp2 = qtr->subject[2].score;
qtr->num = ptr->num;
strcpy(qtr->name,ptr->name);
qtr->subject[0].score = ptr->subject[0].score;
qtr->subject[1].score = ptr->subject[1].score;
qtr->subject[2].score = ptr->subject[2].score;
ptr->num = temp_num;
strcpy(ptr->name,temp_name);
ptr->subject[0].score = temp0;
ptr->subject[1].score = temp1;
ptr->subject[2].score = temp2;
}
qtr = qtr->next;
ptr = ptr->next;
}
}
}
//输出排序过后的链表
ptr = head->next;
while( ptr != NULL )
{
printf("%03d %s %s %5.2f %s %5.2f %s %5.2f
",
ptr->num,ptr->name,ptr->subject[0].name,ptr->subject[0].score,
ptr->subject[1].name,ptr->subject[1].score,
ptr->subject[2].name,ptr->subject[2].score);
ptr = ptr->next;
}
}
//保存文件并退出,文件操作
void SaveQuit(pstu x)
{
pstu head,ptr;
FILE *fp;
char filename[] = "D:\\编程学习\\编程实践\\c语言课程设计1 学生信息管理\\data.txt";
head = x;
ptr = head->next;
if( NULL == (fp = fopen(filename,"w")) ) //判断文件是否存在及可读
{
printf("error!");
exit(0);
}
while(ptr != NULL) //遍历链表结点,按data约定格式输出数据
{
fprintf(fp,"%03d %s %s %5.2f %s %5.2f %s %5.2f",
ptr->num,ptr->name,ptr->subject[0].name,ptr->subject[0].score,
用C语言 设计一学生成绩管理系统,要求: 1. 学生成绩的信息包括:学号...
}while(n<1||n>9); \/*如果选择项不在1~9之间则重输*\/ return(n); \/*返回选择项,主函数根据该数调用相应的函数*\/}\/*输入函数*\/STUDENT *create(){int i,s;STUDENT *head=NULL,*p; \/* 定义函数.此函数带回一个指向链表头的指针*\/clrscr();for(;;) {p=(STUDENT *)malloc(LEN); \/*开辟一个...
用C语言设计一个学生成绩管理系统
include <stdio.h>#include <string.h> include <stdlib.h>#define MAX 1000\/*定义学生成绩信息结构*\/struct stu{ char id[8];char name[8];
设计一个学生类CStudent,包括姓名和三门课程成绩,利用重载运算符“+...
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与...
c++设计一个学生类Cstudent,该类包括学生学号、姓名以及数学、英语、c...
i++){printf("请输入第%d个人的学号:", i + 1);scanf("%d",&p->num);printf("请输入第%d个人的姓名:", i + 1);scanf("%s"
用C语言写一个 学生选课系统
用C语言写一个 学生选课系统 基本要求:1)课程信息存储结构设计(课程编号、课程名字、学分)2)选课信息存储结构设计(学生学号、所选课程编号)3)课程管理(新增课程、删除课程)4)查询可选课程(显示可供选... 基本要求: 1)课程信息存储结构设计(课程编号、课程名字、学分) 2)选课信息存储结构设计(学生学号、所选...
用C语言编写一个学生管理系统。
学生信息管理系统 include<stdio.h> inelude<stdlib.h> include<stnng.h define BUFLEN 100 define LEN 15 define N 100 strucet record char codc[LEN+I J;char name[LEN-1];int age:char sex 13l:char timc[1.KN-I J;char add[301;char tcl [l.EN+1 J:char mail[30]:}stu[N]...
c语言实现设计一个学生成绩管理系统课程
C语言实现为某学校日常学生成绩管理设计一个学生成绩管理系统:1、设计学生成绩管理文件结构,编程实现学生成绩信息输入。2、实现按学号进行学生成绩的修改和删除,并保存到文件。3、按学号查询某个学生的所有课程的成绩,并按分数从高到低排序输出。4、根据选择的课程和班级,查询和输出按学号排序的该班学生课程得分。5、...
求用C语言设计一个学生成绩管理程序,明天下午要用。
题目 学生成绩管理程序任务:使用C语言中相关知识,设计出学生成绩管理程序。要求如下所述: 1录入学生信息,每位学生录入的信息有:姓名、学号、性别、班级、和三门功课(数学,英语,计算1机)的成绩。以文件(student.txt)的形式保存每个学生的所有信息。(实验中:假设3个班,每个班学生人数不得少于5人)学号 姓名 性别 ...
用C语言设计一个学生成绩统计程序,要求(1)输入30个学生一门功课的成绩...
include"stdio.h"void main(){ int n=0;int num;int zf=0;for(n=0;n<30;n++){ printf("请输入第%d个学生的成绩:",n+1);scanf("%d",&num);zf+=num;} printf("该门功课的班级平均分为:%d\\n",zf\/30);}
帮忙设计一个C语言的学生信息管理系统
2、 当用户选择了1时,调用函数input。运行时先提示“输入待录入的学生数:”,该数应小于定义的数组长度;然后提示“输入学生信息(学号,姓名,分数):”,输入完指定数目后,提示“输入完毕”。返回主程序后,重新显示菜单,用户可以继续选择功能。注意:录入多个学生信息时,若录入的学号与前面相同,应显示“已有该学号,请...
东野蓓法地: #include "stdio.h" #include "stdlib.h" #include "string.h" int shoudsave=0; /* */ struct student { char num[10];/* 学号 */ char name[20]; char sex[4]; char yuan; int ban; char neartime[10];/* 最近更新时间 */ }; typedef struct node { struct ...
周村区15891716415: 求作:C语言程序设计 —— 学籍管理系统 - ?
东野蓓法地: #include<stdio.h>//定义结构体 struct student { int number; char name[20]; float score1; float score2; float score3; float ave; };//单个学员录入函数 void input(struct student *st) { printf("\n学号: "); scanf("%d",&st->number); printf("姓名: ...
周村区15891716415: C语言学籍管理系统 - ?
东野蓓法地: #include "stdio.h" #include "stdlib.h" #include "string.h" int shoudsave=0; /* */ struct student { char num[10];/* 学号 */ char name[20]; char sex[4]; char yuan; int ban; char neartime[10];/* 最近更新时间 */ }; typedef struct node { struct ...
周村区15891716415: c语言学生学籍管理系统 - ?
东野蓓法地: #include <iostream> #include <fstream> #include <string> #include <conio.h>//用getch(); using namespace std; /*程序中一般用i表示学生序号,j表示科目序号 *其他循环变量用k,m,n表示 *最多统计10科50人的成绩信息 *temname用于临时储存姓...
周村区15891716415: 用C语言编写控制台下简单的学籍管理程序?
东野蓓法地: #include <stdio.h> #include <string.h> struct student {char name[20]; float score[5]; float ave; }student[100]; void writedata(struct student *student,FILE *fp) {int i,j,n=5; printf("%-20s%-5s%-5s%-5s%-5s%-5s%-5s\n","Name","1th","2th","3...
周村区15891716415: c语言 学籍管理系统 - ?
东野蓓法地: /*学生信息管理系统*/ #include #include #include struct stud { char name[30]; /*姓名*/ long num; /*学号*/ double score; /*成绩*/ }; typedef struct stucode /****定义结构体*****/ { struct stud student ; struct stucode *next; }L; void cd(); /*菜单*/ ...
周村区15891716415: 求c语言设计的一个学生学籍管理系统!急用!要有查询 增加 删除 修改功能!简单一点的就好了!急用啊! - ?
东野蓓法地: //这个是大一的时候写的通信录的题目有增 删 修改功能. //你就把里面的值 修改一下变量就可以了.1 #include<iostream>2 #include<string.h>3 using namespace std;4 struct Friend5 {6 double num;7 string name;8 char sex;9 string ...
周村区15891716415: 关于小型学籍管理系统的c语言程序设计 - ?
东野蓓法地: #include#include typedef struct student { int num; char name[8]; int data[3]; struct student* next; } student,* linklist; linklist CreateList(void); int ListFind(linklist head); int ListAdd(linklist head); int DeleteList(linklist head); int ModifyList(linklist head); int ...
周村区15891716415: 急需求用C语言编程的学生管理系统 - ?
东野蓓法地: //课程类 class course { int courseno; //课程编号 string cname;//课程名字 int credit; //学分 int score; //成绩 public: void set_cname(string na){cname=na;} //设置课程名 string get_cname(){return cname;} //获取课程名 int get_credit(){return ...
周村区15891716415: c语言编写学生信息管理系统 - ?
东野蓓法地: #include"stdio.h" #define SIZE 100000 #include"string.h" #include"stdlib.h" #include"conio.h" struct student {int n; int num; char name[10]; int C; int Maths; int En; float ave; }stu[SIZE]; /*录入数据*/ void finput() { FILE *fp; int i,p; fp=fopen(...