这是郑州某一高校的期末设计作业。
题目具体不提供,以防查重。
//使用说明
//录入学生信息正常录入就行了(学号尽可能短)
//显示学生信息按照提示就可以显示
//查找学生输入学生姓名就可正常查找
//修改学生信息输入姓名查找,按提示完成操作后输入2即可看到结果
//删除学生信息 按提示操作后输入2即可看到结果
//排序完成提升操作后 输入2即可看到结果
//输出不及格成绩按提示操作后即可看结果
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct node{
char name[30];
char num[30];
int score1;
int score2;
int sum;
}p[105];
int cnt = 0;
void add(){
printf("请输入要添加的学生姓名\n");
scanf("%s",p[cnt].name);
printf("请输入要添加的学生学号\n");
scanf("%s",p[cnt].num);
printf("请输入要添加的学生c语言成绩\n");
scanf("%d",&p[cnt].score1);
printf("请输入要添加的学生数据结构成绩\n");
scanf("%d",&p[cnt].score2);
p[cnt].sum = p[cnt].score1 + p[cnt].score2;
cnt++;
}
void print(){
printf("姓名 学号 C语言 数据结构\n");
for(int i=0;i<cnt;i++){
printf("%-9s%-9s%-11d%-11d\n",p[i].name,p[i].num,p[i].score1,p[i].score2);
}
}
void find(){
char str[30];
int flag = 0;
int pos;
printf("请输入要查找的学生姓名\n");
scanf("%s",&str);
for(int i=0;i<cnt;i++){
if(strcmp(str,p[i].name)==0){
flag = 1;
pos = i;
}
}
if(flag){
printf("找到信息如下:\n");
printf("姓名 学号 C语言 数据结构\n");
printf("%-9s%-9s%-11d%-11d\n",p[pos].name,p[pos].num,p[pos].score1,p[pos].score2);
}else{
printf("未找到该学生信息\n");
}
}
void update(){
char str[30];
int flag = 0;
printf("请输入要修改的学生姓名\n");
scanf("%s",str);
for(int i=0;i<cnt;i++){
if(strcmp(str,p[i].name)==0){
flag = 1;
printf("请输入修改后的学生姓名\n");
scanf("%s",p[i].name);
printf("请输入修改后的学生c语言成绩\n");
scanf("%s",p[i].score1);
printf("请输入修改后的学生数据结构成绩\n");
scanf("%s",p[i].score2);
}
}
if(flag){
printf("修改成功\n");
}else{
printf("未找到该学生信息\n");
}
}
void del(){
char str[30];
int flag = 0;
printf("请输入要删除的学生学号\n");
scanf("%s",str);
for(int i=0;i<cnt;i++){
if(strcmp(str,p[i].num)==0){
flag = 1;
for(int j=i;j<cnt-1;j++){
p[j] = p[j+1];
}
cnt--;
}
}
if(flag){
printf("删除成功\n");
}else{
printf("未找到该学生信息\n");
}
}
void sort(){
for(int i=0;i<cnt;i++){
for(int j=i+1;j<cnt;j++){
if(p[i].sum<p[j].sum){
node tmp = p[i];
p[i] = p[j];
p[j] = tmp;
}
}
}
}
void fuc(){
printf("姓名 学号 C语言 数据结构\n");
for(int i=0;i<cnt;i++){
if(p[i].score1<60) printf("%-9s%-9s%-11d%-11d\n",p[i].name,p[i].num,p[i].score1,p[i].score2);
}
}
void menu(){
printf("1.添加学生信息\n");
printf("2.显示学生信息\n");
printf("3.查找学生信息\n");
printf("4.修改学生信息\n");
printf("5.删除学生信息\n");
printf("6.按学生总成绩排序\n");
printf("7.输出不及格学生信息\n");
printf("0.退出\n");
}
int main(){
int x;
while(1){
menu();
scanf("%d",&x);
if(x==1) add();
if(x==2) print();
if(x==3) find();
if(x==4) update();
if(x==5) del();
if(x==6) sort();
if(x==7) fuc();
if(x==0) break;
}
return 0;
}
仅供参考,切勿抄袭。