摘要:c语言学生成绩管理系统? p=p->next; #include outfile.write( (char )p,sizeof(ji_ke_1_class)); c语言高考志愿填报信息管理系统 c语言
c语言学生成绩管理系统?
p=p->next;#include
c语言高考志愿填报信息管理系统 c语言技能高考
c语言高考志愿填报信息管理系统 c语言技能高考
#include
int n;
struct Student {
int no;
char name[10];
int score[5];
int erage;
}student[100000];
void Sort(Student s){
for(int i=0;i for(int j=i+1;j if(s[j].sum>s[i].sum){ char ns[100]; strcpy(ns,s[i].name); strcpy(s[i].name,s[j].name); strcpy(s[j].name,ns); int snum=s[i].sum,se=s[i].erage; s[i].sum=s[j].sum,s[i].erage=s[j].erage; s[j].sum=snum,s[j].erage=se; {cout<<"tt找不到你要查找的内容!"< }void printInfo() { for (int i = 0; i < n; i++) { printf("%s,%d,%dn", student[i].name, student[i].sum, student[i].erage); }} int main() {printf("请输入学生的数量n:"); scanf("%d",&n); for (int i = 0; i < n; i++) { printf("请分别输入第%d名同学的id,名字,成绩1,成绩2,成绩3,成绩4", i + 1); scanf("%d%s%d%d%d%d", &student[i].no, student[i].name, &student[i].score[0], &student[i].score[1], &student[i].score[2],&student[i].score[3]); student[i].sum=student[i].score[0]+student[i].score[1]+student[i].score[2]+student[i].score[3]; student[i].erage=student[i].sum/4; }Sort(student); printInfo(); return 0; } struct Student char nam<<" 及格率:"< int score; }stu[N],t; #include #include #include class stu {char name[20]; double math,chinese,english,erage,sum; public: stu() {} stu(char n[20],double ma,double chin,double eng) {strcpy(name,n); math=ma; chinese=chin; english=eng; }double getsum() {sum=chinese+english+math; return sum; }double geter() {erage=getsum()/3; return erage; }friend void main(); }; void main() {cout<<"请选择您需要的作!"< cout<<"作:"< cout<<"(0)数据录入"< cout<<"(1)增加人员"< cout<<"(2)删除人员"< cout<<"(3)修改数据"< cout<<"查询:"< cout<<"(4)按总成绩查询"< cout<<"(5)按姓名查询"< cout<<"(6)输出所有学生的数据"< cout<<"成绩名词"< cout<<"(7)按总分查询排名"< cout<<"(8)按语文查询排名"< cout<<"(y)按英语查询排名"< cout<<"选择相关作请输入相对的括号里的数字!"< char p;char w; stu s[50]; ofstream file[50]; int i=0; int j=0; bool flag2=0; do {cin>>p; if((p>='0'&&p<='10')) flag2=1; cout<<"指令错误!请重新输入:"< }while(flag2==0); do{ switch(p) {case '0': {char c; char name[20];double math,chinese,english; do{ cout<<"请输入姓名"< cin>>name; cout<<"请输入数学成绩:"< cin>>math; cout<<"请输入语文成绩:"< cin>>chinese; cout<<"请输入外语成绩:"< cin>>english; file[j]=new ofstream("d:document",ios::ate); file[j]<<"姓名"< j++; s[i]=new stu(name, math, chinese, english); i++; cout<<"数据录入成功,想继续录入吗(y/n)"< cin>>c; flag2=0; do {if(c!='y'&&c!='n') {cout<<"指令错误!请重新输入!"< cin>>c; }else flag2=1; }while(flag2==0); }while(c=='y'); break; }case '4': {double t;char c; do {int flag1=0; cout<<"请输入你要查询学生的总成绩"< cin>>t; for(int q=0;q {if(s[q]->getsum()==t) {flag1=1; cout<<"您要查询的学生是:"<<(s[q]).name< }} if(flag1==0) cout<<"对不起!您要查询的学生不存在!"< cout<<"您想继续查询吗?(y/n)"< cin>>c; if(c!='y'&&c!='n') {cout<<"指令错误!请重新输入!"< cin>>c; }} while(c=='y'); break; }case '5': {char n[20];int j=0;char c; do{ int flag=0; cout<<"请输入你要查询的学生姓名"< cin>>n; for(int j=0;j {if(strcmp(n,(s[j]).name)==0) {flag=1; cout<<"您要查询的学生是:"<<(s[j]).name< cout<<(s[j]).name<<"的总成绩成绩是"<<(s[j]).getsum()< }} if(flag==0) cout<<"对不起!您要查询的学生不存在!"< cout<<"您想继续查询吗?(y/n)"< cin>>c; if(c!='y'&&c!='n') {cout<<"指令错误!请重新输入!"< cin>>c; }} while(c=='y'); break; }case '1': {char name[20];double math,chinese,english; char c; do {cout<<"请输入您要增加的学生的姓名:"< cin>>name; cout<<"请输入数学成绩:"< cin>>math; cout<<"请输入语文成绩:"< cin>>chinese; cout<<"请输入外语成绩:"< cin>>english; file[j]=new ofstream("d:document",ios::ate); file[j]<<"姓名"< j++; s[i]=new stu(name, math, chinese, english); i++; cout<<"数据录入成功,想继续录入吗(y/n)"< cin>>c; if(c!='y'&&c!='n') {cout<<"指令错误!请重新输入!"< cin>>c; }}while(c=='y'); break; }case '2': {char name[20];bool flag3=0;char c; do{ cout<<"请输入您要删除的学生姓名:"< cin>>name; for(int h=0;h {if(strcmp(name,s[h]->name)==0) {flag3=1; i--; do{ s[h]=s[h+1]; h++; }while(h<=i); }} if(flag3==0) cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!"; cout<<"要继续删除吗?(y/n)"< cin>>c; if(c!='y'&&c!='n') {cout<<"指令错误!请重新输入!"< cin>>c; }}while(c=='y'); break; }case '3': {char name[20];double mat,chin,eng;flag2=0; char c; do {cout<<"请输入您要修改的学生的姓名:"< cin>>name; for(int h=0;h {if(strcmp(name,s[h]->name)==0) {flag2=1; cout<<"请输入新的数学成绩:"< cin>>mat; cout<<"请输入新的语文成绩:"< cin>>chin; cout<<"请输入新的外语成绩:"< cin>>eng; s[h]->chinese=chin; s[h]->math=mat; s[h]->english=eng; cout<<"数据修改成功!"; }} {cout<<"您要修改的学生本来就不存在!请检查重新输入!"< }cout<<"想继续修改吗(y/n)"< cin>>c; if(c!='y'&&c!='n') {cout<<"指令错误!请重新输入!"< cin>>c; }}while(c=='y'); break; }case '6': {cout<<"本系统所有如下:"< if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"< for(int k=0;k {cout< "语文:"<<" "< <<"外语:"<<" "< <<"平均分:"<<" "<<(s[k]).geter()< }break; }case '7': {int t;stu b; cout<<"本系统所以学生排名如下:"< for(int x=0;x {t=x; for(int y=x+1;y {if((s[t]->getsum())<(s[y]->getsum())) t=y; if(t!=x) {b=s[x]; s[x]=s[t]; s[t]=b; }} }if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"; for(int k=0;k {cout< "语文:"<<" "< <<"外语:"<<" "< <<"平均分:"<<" "< }break; }case '8': {int t;stu b; cout<<"本系统所以学生语文排名如下:"< for(int x=0;x {t=x; for(int y=x+1;y {if((s[t]->chinese)<(s[y]->chinese)) t=y; if(t!=x) {b=s[t]; s[t]=s[x]; s[x]=b; }} }if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"; for(int k=0;k {cout< "语文:"<<" "< <<"外语:"<<" "< <<"平均分:"<<" "< }break; }case '9': {int t;stu b; cout<<"本系统所以学生数学排名如下:"< for(int x=0;x {t=x; for(int y=x+1;y {if((s[t]->math)<(s[y]->math)) t=y; if(t!=x) {b=s[t]; s[t]=s[x]; s[x]=b; }} }if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"; for(int k=0;k {cout< "语文:"<<" "< <<"外语:"<<" "< <<"平均分:"<<" "< }break; }case 'y': {int t;stu b; cout<<"本系统所以学生英语排名如下:"< for(int x=0;x {t=x; for(int y=x+1;y {if((s[t]->english)<(s[y]->english)) t=y; if(t!=x) {b=s[t]; s[t]=s[x]; s[x]=b; }} }if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"; for(int k=0;k {cout< "语文:"<<" "< <<"外语:"<<" "< <<"平均分:"<<" "< }} break; }cout<<"您想继续进行其他作吗?(y/n)"< bool flag4=0; do {cin>>w; if(w!='y'&&w!='n') cout<<"指令错误!请重新输入!"< flag4=1; }while(flag4==0); if(w=='y') cout<<"请输入作代码(0 录入/4 按总分查询/5 按姓名查询/1 增加人员/2 删除人员/3 修改数据/6 显示所有成员数据/7 按总分排名/8 按语文排名/9按数学排名/y按英语排名)"< cin>>p; }while(w=='y'); for(int x=0;x {delete s[x]; cout<<"delete all members!"< }} 用C语言?还是ASP+SQL动态? 问题模糊,不好回答,如果是C语言,你问题发错地方了。 估计这个版面没有人能回答你。 请问步骤是什么? 以前做过的类似的一个 你拿去看看改改 #include #include #include #define BUFSIZE 1024 #define WORDSIZE 32 #define DESTSIZE 512 #define NR 26 struct node_st { struct node_st arr[NR]; char str; }; static int _hash(char ch) {return ch - 'a'; }static int read_file(FILE fp, char word, char dest) {char buf[BUFSIZE] = {}; if (fgets(buf, BUFSIZE, fp) == NULL) return -1; buf[strlen(buf)-1] = 0; sscanf(buf, "%s %s", word, dest); return 0; }static void tree_insert(struct node_st root, const char word, const char dest) {struct node_st new; int i; if (root == NULL) { new = malloc(sizeof(new)); //if error for (i = 0; i < NR; i++) (new->arr)[i] = NULL; new->str = NULL; root = new; }if (word == '0') { (roocase '7':pp.se(); break;t)->str = strdup(dest); return; }tree_insert(&((root)->arr)[_hash(word)], word+1, dest); }static char tree_search(struct node_st root, char word) {if (root == NULL) return NULL; if (word == '0') return root->str; tree_search((root->arr)[_hash(word)], word+1); }int main(int argc, char argv) {FILE fp; struct node_st root = NULL; char word[WORDSIZE] = {}; char dest[DESTSIZE] = {}; char ret; if (argc < 3) return 1; fp = fopen(argv[1], "r"); //if error while (1) { if (read_file(fp, word, dest) < 0) break; tree_insert(&root, word, dest); memset(word, '0', WORDSIZE); memset(dest, '0', DESTSIZE); }#if 1 if ((ret = tree_search(root, argv[2])) == NULL) printf("the word is wrong "); printf("%s: %s ", argv[2], ret); #endif return 0; } 悬赏50也来求。送个红包吧 一个简单的成绩管理系统通常包括以下功能: 添加学生信息和成绩; 显示所有学生的信息和成绩; 根据学号或姓名查询学生信息和成绩; 根据学号或姓名修改学生信息和成绩; 根据学号或姓名删除学生信息和成绩。 下面是一个基于控制台的C语言实现的示例代码,演示了如何实现上述功能: cCopy code #include #include #include #define MAX_STUDENTS 100 // 最多可管理的学生数 #define MAX_NAME_LEN 20 // 姓名长度 // 学生信息结构体 typedef struct { int id; // 学号 char name[MAX_NAME_LEN];// 姓名 int score; // 成绩 } Student; Student students[MAX_STUDENTS]; // 学生信息数组 int num_students = 0; // 当前学生数量 void add_student() { if (num_students >= MAX_STUDENTS) { printf("已达到可管理的学生数!n"); return; }printf("请输入学生的学号:"); scanf("%d", &students[num_students].id); printf("请输入学生的姓名:"); scanf("%s", students[num_students].name); string qq,name[20],name0[20];printf("请输入学生的成绩:"); scanf("%d", &students[num_students].score); num_students++; printf("添加成功!n"); }// 显示所有学生的信息和成绩 void show_all_students() { if (num_students == 0) { printf("暂无学生信息!n"); return; }printf("%-10s %-20s %-10sn", "学号", "姓名", "成绩"); for (int i = 0; i < num_students; i++) { printf("%-10d %-20s %-10dn", students[i].id, students[i].name, students[i].score); }} 这个是我以前编的,有些小错误,你参考一下: #include"stdio.h" #include"stdlib.h" #include"malloc.h" #include"string.h" typedef struct stud {long int number; char name[20]; int grade; char other[30]; char [10]; struct stud next; }T; T creat() {T p,q,head; long int number; int grade; char name[20],other[30],[10]; head=(T )malloc(sizeof(T)); q=head; printf("Please input the data:(num,name,,grade,other,0:end)n"); scanf("%ld",&number);fflush(stdin); if(number) {gets(name); gets(); scanf("%d",&grade);fflush(stdin); gets(other); }while(number) {p=(T )malloc(sizeof(T)); q->number=number; strcpy(q->name,name); strcpy(q->,); q->grade=grade; strcpy(q->other,other); q->next=p; q=p; scanf("%ld",&number);fflush(stdin); if(number) {gets(name); gets(); scanf("%d",&grade);fflush(stdin); gets(other); }} q->next=NULL; fflush(stdin); return head; }void print(T head) {T p; p=head; if(p) printf("Number name t grade othern"); while(p->next) {printf("%08ld %-15s%-6s %-8d %sn",p->number,p->name,p->,p->grade,p->other); }printf("nEND!n"); }void fprint(T head,FILE fp) {T p; p=head; if(p) fprintf(fp,"Number name t grade othern"); while(p->next) {fprintf(fp,"%08ld %-15s%-6s %-8d %sn",p->number,p->name,p->,p->grade,p->other); }fprintf(fp,"nEND!n"); }T range(T head) {T p,q,s; int key; printf("Please input the key you want to range:n1.number,2.name,3.,4.grade,5.other.nYour cho:[ ]bb"); scanf("%d",&key);fflush(stdin); s=q=head; switch(key) {case 1: while(p) {if(s->number>p->number) s=p; }if(s!=head) {s->next=head; head=s; }for(s=q=head->next;s;s=q=s->next) {for(p=q->next;p;p=p->next) if(s->grade>p->grade) s=p; if(s!=q) {s->next=q; q=s; }} break; case 2: while(p) {if(strcmp(s->name,p->name)>0) s=p; }if(s!=head) {s->next=head; head=s; }for(s=q=head->next;s;s=q=s->next) {for(p=q->next;p;p=p->next) if(s->grade>p->grade) s=p; if(s!=q) {s->next=q; q=s; }} break; case 3: while(p) {if(strcmp(s->,p->)>0) s=p; }if(s!=head) {s->next=head; head=s; }for(s=q=head->next;s;s=q=s->next) {for(p=q->next;p;p=p->next) if(s->grade>p->grade) s=p; if(s!=q) {s->next=q; q=s; }} break; case 4: while(p) {if(s->grade>p->grade) s=p; }if(s!=head) {s->next=head; head=s; }for(s=q=head->next;s;s=q=s->next) {for(p=q->next;p;p=p->next) if(s->grade>p->grade) s=p; if(s!=q) {s->next=q; q=s; }} break; case 5: while(p) {if(strcmp(s->other,p->other)>0) s=p; }if(s!=head) {s->next=head; head=s; }for(s=q=head->next;s;s=q=s->next) {for(p=q->next;p;p=p->next) if(s->grade>p->grade) s=p; if(s!=q) {s->next=q; q=s; }} break; }return head; }T range_1(T head) {T p,q,s; s=q=head; while(p) {if(s->number>p->number) s=p; }if(s!=head) {s->next=head; head=s; }for(s=q=head->next;s;s=q=s->next) {for(p=q->next;p;p=p->next) if(s->grade>p->grade) s=p; if(s!=q) {s->next=q; q=s; }} return head; }T insert(T head) {T p,q,s; s=(T )malloc(sizeof(T)); printf("Please input the insert data:(num,name,,grade,other)n"); scanf("%ld",&s->number);fflush(stdin); if(s->number==0) {printf("ERROR!nPlease input number again.n"); scanf("%ld",&s->number);fflush(stdin); }gets(s->name); gets(s->); scanf("%d",&s->grade);fflush(stdin); gets(s->other); q=head; if(q->number>s->number) {s->next=head; head=s; }while(q->number {q=p; }/if(!q) {q->next=s; s->next=NULL; printf("%-6s%-6s%-6s%-6sn", putout[4],putout[5],putout[6],putout[7]);}else {s->next=p; }/ s->next=p; return head; }T del(T head) {T p,q; long int x; int key=2; print(head); printf("Please input the data you want to delete:(num)n"); scanf("%ld",&x);fflush(stdin); for(;key==2;) scanf("%d",&key);fflush(stdin); if(key==3) return head; if(key==2) scanf("%ld",&x); }q=head; if(q->number==x) {head=p;return(head);} while(q&&p->number!=x) {q=p; }if(q) {q->next=p->next; free(p); }else printf("NOT Found!!!n"); return head; }void prt() {printf(" welcome to use!!! tt========================n"); printf(" tt Linklist Student n"); printf(" tt by czj n"); printf(" tt 2008 10 4 n"); printf(" tt========================n"); }void fprt(FILE p) {fprintf(p," welcome to use!!! tt========================n"); fprintf(p," tt Linklist Student n"); fprintf(p," tt by czj n"); fprintf(p," tt 2008 10 4 n"); fprintf(p," tt========================n"); }void main() {T head=NULL; int key=1; FILE p; prt(); head=creat(); print(head); printf("1.INSERT.n2.DLETE.n3.CORRECT.n4.RANGE.n0.EXIT.nYour cho[ ]bb"); scanf("%d",&key);fflush(stdin); for(;key;) {("cls"); prt(); if(key==1) insert(head); if(key==2||key==3) del(head); if(key==3) insert(head); if(key==4) range(head); print(head); printf("1.INSERT.n2.DELETE.n3.CORRECT.n4.RANGE.n0.EXIT.nYour cho[ ]bb"); scanf("%d",&key);fflush(stdin); }if((p=fopen("d:linklist1.dat","w"))==NULL) {printf("Can't open the file.n"); exit(0); }fprt(p); fprint(head,p); fclose(p); }/ 一个不用。 fflush(stdin);清除缓存。 insert中输入有问题,range。 / 这p=q->next;个问题 只能用链表或者文件来实现 #include #include #include using namespace std; struct lx {long num; char name[20]; struct lx link; }; struct lx addlist(struct lx head,long x);//添加; void listclear(struct lx head); struct lx creaist(void ); void listprintf(struct lx p); int main(int argc,char argv) {long x; struct lx p = creaist(); listprintf(p); cout<<"输入学号"< cin>> x; struct lx head = addlist(p,x); listprintf(head); listclear(head); //listprintf(temp); return 0; }struct lx creaist(void ) {struct lx head ; struct lx tail ; struct lx p; char buf[20]; head = NULL; p = (struct lx )malloc(sizeof (struct lx)); // cout<< "内存分配失败!!!!"<< endl; cout<< "请输入学号:"; cin>> p->num; cout<< "请输入姓名:"; cin>> p->name; //cout< //strcpy(p->name, buf); while(1) {if(head == NULL) {head = p; tail = p; }else {tail->link = p; tail = p; }p = (struct lx)malloc(sizeof(struct lx)); // cout<<"内存分配失败!!!!!"<< endl; cout<< "请输入学号:"; cin>> p->num; if(p->num == 0) break; cout<< "请输入姓名:"; cin>> p->name; //strcpy(p->name,buf); }tail->link = NULL; return head; }void listprintf(struct lx p) {struct lx q = p; while(q!= NULL) {cout<< q->num< cout<< q->name< q = q->link; }} struct lx addlist(struct lx head,long x)//添加 {struct lx p = head; struct lx q,temp,temp1; q = NULL; if(p->link == NULL ) {if((p->num ) > x ) {q=(struct lx )malloc(sizeof(struct lx)); cout<<"输入姓名:"< cin>>q->nint size=sizeof(struct stud_node);ame; q->num = x; q->link = p; p = q; }else {q=(struct lx )malloc(sizeof(struct lx)); cout<<"输入姓名:"< cin>>q->name; q->num = x; temp1 = p->link; p->link = q; q->link = temp1; temp1->link = NULL; }} else if(((p->num) > x)&&((p->link)->link == NULL)) {q=(struct lx )malloc(sizeof(struct lx)); cout<<"输入姓名:"< cin>>q->name; q->num = x; p->link = q; q->link = p; q->link = NULL; }else {while(1) {if((p->num < x)&&((p->link)->num > x)) break; p = p->link; }q=(struct lx )malloc(sizeof(struct lx)); cout<<"输入姓名:"< cin>>q->name; q->num = x; temp = p->link; p->link = q; q->link = temp; }return p; }void listclear(str 这是当初我做的那个,用链表做的,各项都能实现好好熟悉一下,希望对你有帮助 #include #include #include struct stud_node{ int num; char name[20]; int score; struct stud_node next; }; struct stud_node Create_Stu_Doc(); //新建链表 struct stud_node InsertDoc(struct stud_node head,struct stud_node stud); //插入 struct stud_node DeleteDoc(struct stud_node head,int num); //删除 void Print_Stu_Doc(struct stud_node head); //遍历 int main(void) {struct stud_node head,p; int cho,num,score; char name[20]; do{ printf("1:Create 2:Insert 3:Delete 4:Print 0:Exitn"); scanf("%d",&cho); switch(cho){ case 1: head=Create_Stu_Doc(); break; case 2: printf("Input nun,nameand score:n"); scanf("%d%s%d",&num,name,&score); p=(struct stud_node )malloc(size); p->num=num; strcpy(p->name,name); p->score=score; head=InsertDoc(head,p); break; case 3: printf("Input num:n"); scanf("%d",&num); head=DeleteDoc(head,num); break; case 4: Print_Stu_Doc(head); break; case 0: break; }}while(cho!=0); return 0; }//新建链表 struct stud_node Create_Stu_Doc() {struct stud_node head,p; int num,score; char name[20]; head=NULL; printf("Input num,name,score:n"); scanf("%d%s%d",&num,name,&score); while(num!=0){ p=(struct stud_node )malloc(size); p->num=num; strcpy(p->name,name); p->score=score; head=InsertDoc(head,p); scanf("%d%s%d",&num,name,&score); }return head; }//插入作 struct stud_node InsertDoc(struct stud_node head,struct stud_node stud) {struct stud_node ptr,ptr1, ptr2; ptr2=head; ptr=stud; //ptr指向待插入的新的学生记录结点 //原链表为空时的插入 if(head==NULL){ head=ptr; //新插入结点成为头结点 head->next=NULL; }else{ //原链表不为空时的插入 while((ptr->num>ptr2->num)&&(ptr2->next!=NULL)){ ptr1=ptr2; ptr2=ptr2->next; }if(ptr->num<=ptr2->num){ if(head==ptr2) head=ptr; else ptr1->next=ptr; ptr->next=ptr2; }else{ //新插入结点成为尾结点// ptr2->next=ptr; ptr->next=NULL; }} return head; }//删除作// struct stud_node DeleteDoc(struct stud_node head,int num) {struct stud_node ptr1,ptr2; //要被删除的结点为表头结点 while(head!=NULL && head->num==num){ ptr2=head; head=head->next; free(ptr2); }if(head==NULL) //链表空 return NULL; //要被删除的结点为非表头结点 ptr1=head; ptr2=head->next; //从表头的下一个结点搜索所有符合删除要求的结点 while(ptr2!=NULL){ if(ptr2->num==num){ ptr1->next=ptr2->next; free(ptr2); }else ptr1=ptr2; ptr2=ptr1->next; }return head; }//遍历作 void Print_Stu_Doc(struct stud_node head) {struct stud_node ptr; if(head==NULL){ printf("nNo Recordn"); return; }printf("nThe Student Records Are: n"); printf(" Num name scoren"); for(ptr=head;ptr;ptr=ptr->next) printf("%8d %20s %6dn",ptr->num,ptr->name,ptr->score); } 两年前做的,现在都不会C语言了。 下面的代码应该是对的。没有注释,但应该能看的懂,起名字也很不规范。只有信息输入、和查询,还有平均成绩。不求得分,只是拿出来共享一下,提供个参考。 #include #include #define pl 64 void fine(int size[][6],char xh[][5],char name[][9]) {int i,a,b; char d[5]; for(;;) {printf("请输入要查找的学号或姓名:"); scanf("%s",d); for(i=0;i if(strcmp(d,xh[i])==0||strcmp(d,name[i])==0) {printf("学号:%st",xh[i]); printf("姓名:%sn",name[i]); printf("成绩:"); for(a=0;a<5;a++) {printf("%d ",size[i][a]); }printf("n平均成绩:%dnn",size[i][5]); }} }void main() {int size[pl][6],a,i; char b, name[pl][9], xh[pl][5]; for(i=0;i {printf("学号:"); scanf("%s",xh[i]); printf("姓名:"); scanf("%s",name[i]); printf("成绩:"); size[i][5]=0; for(a=0;a<5;a++) {scanf("%d",&size[i][a]); size[i][5]+=size[i][a]; }size[i][5]/=5; }for(i=0;i {printf("学号:%st",xh[i]); printf("姓名:%sn",name[i]); printf("成绩:"); for(a=0;a<5;a++) {printf("%d ",size[i][a]); }printf("n平均成绩:%dn",size[i][5]); }fflush(stdin); printf("是否要查找:y or n:n"); scanf("%c",&b); if(b=='y'||b=='Y') fine(size,xh,name); } #include #include #include #include using namespace std; class student {protected: int number; char name[20]; char [6]; char place[20]; char nation[6]; char birth[20]; char party[10]; char id[20]; double score[3]; public: student next; student(){ } ~student(){ } char getname(){ return name; } int getnumber(){ return number;} double getscore(int i) { return score[3];} float getg(){ return (score[0]+score[1]+score[2]); } void input() {int e=1; cout<<"ttt按提示输入:"< cout<<"tt输入编号: "; cin>>number; cout<<"tt输入姓名: "; cin>>name; do {cout<<"tt输入性别: "; cin>>; if(strcmp(,"男")==0 || strcmp(,"女")==0) {cout<<"tt输入籍贯: "; cin>>place; cout<<"tt输入民族: "; cin>>nation; cout<<"tt输入生日: "; cin>>birth; cout<<"tt输入面貌: "; cin>>party; cout<<"tt输入号: "; cin>>id; cout<<"tt输入数学分数: "; cin>>score[0]; cout<<"tt输入英语分数: "; cin>>score[1]; cout<<"tt输入计算机分数: "; cin>>score[2]; e=0; }else {cout<<"ttt无此类型性别!重新输入!"< e=1; }}while(e); return ; }void input(ifstream & is) {is>>number>>name>>>>place>>nation>>birth>>party>>id >>score[0]>>score[1]>>score[2]; is.get(); }void output() {cout<<"学生基本信息如下:"< cout<<"编号:"< <<" 姓名:"< <<" 性别:"<< <<" 籍贯:"< <<" 民族:"< <<" 生日:"< <<" 面貌:"< <<"号:"< <<" 数学:"< <<" 英语:"< <<" 计算机:"< <<" 总分:"< }void output(ofstream & os) {os< < < < < < < < < < < }}; class school {public: school(){ head=new student; head->next=NULL; key=0; } ~school(){ delete head; } void input(); void mend(); void del(); int find(student p,int num,char pn="^"); void found(); void show(); void count(); void se(); void begin(); void clear(); char mainmenu(); int getkey(){ return key;} void setkey(int k){ key=k; } private: student head; int key; }; //录入函数 void school::input() {student p,p2=NULL; p=head; int n; while(p->next) while(n) {p2=new student; p2->input(); p->next=p2; p2->next=NULL; school::setkey(1); cout<<"ttt按1继续,按0返回 : "; cin>>n; }} //子查找函数 int school::find(student p1,int num,char pn) {student p; p=head; while(p->next) {(p1)=p; if( (p->next)->getnumber()==num||!strcmp( (p->next)->getname(),pn ) ) return 1; }return 0; }//查找函数 void school::found() {student p; int num=-1,n=9; char name[20]="^"; do {cout<<"tt1:按编号查找,2:按姓名查找: "; cin>>n; }while(n<1||n>2); if(n==1) {cout<<"ttt输入编号: "; cin>>num; }if(n==2) {cout<<"ttt输入姓名: "; cin>>name; }if(!find(&p,num,name) ) return; }(p->next)->output(); }//删除函数 void school::del() {student p,p2; int num; cout<<"ttt输入编号: "; cin>>num; if( !find(&p,num,"^") ) {cout<<"tt找不到你要删除的内容!"< return; }(p->next)->output(); p2=p->next; p->next=p2->next; delete p2; school::setkey(1); }//显示函数 void school::show() {student p; p=head; while(p->next) {(p->next)->output(); }} //修改函数 void school::mend() {student p; int num=-1,n; char name[20]="^"; do {cout<<"tt1:按编号修改,2:按姓名修改: "; cin>>n; }while(n<1||n>2); if(n==1) {cout<<"ttt输入编号: "; cin>>num; }if(n==2) {cout<<"ttt输入姓名: "; cin>>name; }if( !find(&p,num,name) ) {cout<<"tt找不到你要修改的内容!"< return; }(p->next)->output(); (p->next)->input(); school::setkey(1); }//保存函数 void school::se() {student p; p=head; ofstream os("student.txt",ios::out); if (school::getkey()==1) {while(p->next) {(p->next)->output(os); }} cout<<"ttt文件已保存! "< school::setkey(0); }//初始化函数 void school::begin() {student p,p2; p=head; clear(); long t; ifstream is("student.txt",ios::in); if(!is) {ofstream os("student.txt",ios::out); os.close(); return ; }int num=-1; while(1) {num=-1; t=is.lg(); is>>num; is.seekg(t); if(num<0) {is.close(); return; }p2=new student; p2->input(is); p->next=p2; p2->next=NULL; }} //清空函数 void school::clear() {student p,p2; p=head->next; while( p ) {p2=p; delete p2; }} //统计函数 void school::count() {student p; p=head; int n=0; double g[3]={0,0,0}; float j[3]={0,0,0}; while(p->next) {p=p->next; n++; for(int i=0;i<3;i++) {g[++i]=g[i]+( p->getscore(i) ); (p->getscore(i) )>=60? j[i++] : 0 ; }} cout<<"ttbbbb数学总分:"< <<" 平均分:"< <<"ttbbbb计算机总分: "< <<" 及格率:"< }//主选菜单函数 char school::mainmenu() {char n[6]; cout<<"nn ☆☆☆☆欢迎进入高校学籍管理系统☆☆☆☆"< <<" "< <<" "< <<" 1: 录入学生信息 "< <<" 2: 显示学生信息 "< <<" 3: 查找学生信息 "< <<" 4: 删除学生信息 "< <<" 5: 修改学生信息 "< <<" 6: 统计学生成绩 "< <<" 7: 保存学生信息 "< <<" 0: 退出系统 "<C语言编写学生信息管理系统,不要报错的......
void display(;C语言课程设计:学生学籍管理系统。有谁有代码给我做个参考吗?谢谢了,C语言和C++的都可以。
}/=============================================chinese<<"数学:"<<" "<mathenglish<<"总分:"<<" "<<(s[k]).getsum()chinese<<"数学:"<<" "<mathenglish<<"总分:"<<" "<getsum()geter()<chinese<<"数学:"<<" "<mathenglish<<"总分:"<<" "<getsum()geter()<chinese<<"数学:"<<" "<mathenglish<<"总分:"<<" "<getsum()geter()<chinese<<"数学:"<<" "<mathenglish<<"总分:"<<" "<getsum()geter()<用C语言编程实现学生基本信息管理系统
{school pp;C语言怎么编一个简单的成绩管理系统?
}fclose(fp);C语言程序设计题目:学生信息管理系统设计
printf("请输入学生名次:");学生成绩管理系统 c语言
while(p1->num!=u&&p1->next !=NULL )用c语言编写一个学生管理系统
{printf("Are you sure?n1.OK.n2.Input new.n3.Exit delete.nYour cho:[ ]bb");