请更正此代码的格式(部分地方没加空行)
#include
#include
#include
#define LEN sizeof(struct Student)
struct Student
{
char name[10];
char number[20];
int classID;
int C_Language;
int Math;
int English;
struct Student* next;
};
struct Student* head = NULL;
struct Student* end = NULL;
void Menu();
void Add();
void View();
void ViewAll();
void Repair();
void Delete();
void AddOne();
void Rank();
void Menu()
{
system("cls");
printf("1.学生信息录入\n");
printf("2.单个学生成绩查询\n");
printf("3.查询全部学生成绩\n");
printf("4.修改学生信息\n");
printf("5.删除学生信息\n");
printf("6.学生单科成绩录入\n");
printf("7.班级内单科成绩排名\n");
printf("8.退出系统\n");
int choice;
printf("请选择要使用的功能:\n");
loop:
scanf("%d",&choice);
switch (choice)
{
case 1:
Add();
Menu();
case 2:
View();
Menu();
case 3:
ViewAll();
Menu();
case 4:
Repair();
Menu();
case 5:
Delete();
Menu();
case 6:
AddOne();
Menu();
case 7:
Rank();
Menu();
case 8:
exit(0);
default:
printf("输入有误,请重新选择:");
break;
}
}
void Add()
{
system("cls");
int count;
printf("请输入要录入信息的个数:");
scanf("%d",&count);
struct Student *s1,*s2,*temp;
s1=s2=(struct Student*)malloc(LEN);
if(head == NULL)
{
head = s1;
}
else
{
end->next = s1 ;
}
int i = 1;
while(count>0)
{
printf("请输入第%d位学生信息:\n",i++);
printf("姓名:\n");
scanf("%s",&s1->name);
printf("学号:\n");
scanf("%s",&s1->number);
printf("班级:\n");
scanf("%d", &s1->classID);
printf("C语言成绩:\n");
scanf("%d",&s1->C_Language);
printf("数学成绩:\n");
scanf("%d",&s1->Math);
printf("英语成绩:\n");
scanf("%d",&s1->English);
count--;
s2->next=s1;
s2=s1;
s1=(struct Student*)malloc(LEN);
printf("添加成功!\n");
system("pause");
system("cls");
}
s2->next= NULL;
end = s2;
printf("全部添加成功!\n");
system("pause");
}
void View()
{
system("cls");
struct Student *VS;
printf("输入要查询信息的学生学号:\n");
char num[10];
int flag = 1;
scanf("%s",&num);
for(VS=head;VS!=NULL;)
{
if(strcmp(VS->number,num)==0)
{
printf("成功找到!\n");
printf("姓名:%s\t学号:%s\t班级:%d\t\n",VS->name,VS->number,VS->classID);
printf("C语言:%d\t数学:%d\t英语:%d\t\n",VS->C_Language,VS->Math,VS->English);
flag=0;
}
VS=VS->next;
}
if(flag != 0)
{
printf("不好意思,未找到!\n");
}
system("pause");
}
void ViewAll()
{
system("cls");
struct Student *VA;
if(head!=NULL)
{
printf("所有学生成绩如下:\n");
for(VA=head;VA!=NULL;)
{
printf("姓名:%s\t学号:%s\t班级:%d\t\n",VA->name,VA->number,VA->classID);
printf("C语言:%d\t数学:%d\t英语:%d\t\n",VA->C_Language,VA->Math,VA->English);
VA=VA->next;
}
printf("所有不及格科目超过两科的学生名单如下:\n");
for(VA=head;VA!=NULL;)
{
int lostNum = 0;
if(VA->C_Language < 60)
{
lostNum++;
}
if(VA->Math< 60)
{
lostNum++;
}
if(VA->English< 60)
{
lostNum++;
}
if(lostNum > 1)
{
printf("姓名:%s\t\n",VA->name);
}
VA = VA->next;
}
}
else
{
printf("该系统中还未录入信息\n");
}
system("pause");
}
void Repair()
{
system("cls");
struct Student *RS;
char num[10];
int flag = 1;
printf("输入要修改成绩学生的学号:\n");
scanf("%s",num);
for(RS=head;RS!=NULL;)
{
if(strcmp(RS->number,num)==0)
{
printf("成功找到该学生\n");
printf("姓名:%s\t学号:%s\t班级:%d\t\n",RS->number,RS->name,RS->classID);
printf("C语言:%d\t数学:%d\t英语:%d\t\n",RS->C_Language,RS->Math,RS->English);
flag = 0;
printf("姓名:\n");
scanf("%s",&RS->name);
printf("学号:\n");
scanf("%s",&RS->number);
printf("班级:\n");
scanf("%d",&RS->classID);
printf("C语言成绩:\n");
scanf("%d",&RS->C_Language);
printf("数学成绩:\n");
scanf("%d",&RS->Math);
printf("英语成绩:\n");
scanf("%d",&RS->English);
printf("修改成功\n");
system("pause");
}
RS=RS->next;
}
if(flag != 0)
{
printf("输入信息有误,未查询到");
system("pause");
}
}
void Delete()
{
system("cls");
int flag =1;
while(flag != 0)
{
printf("请输入要删除的学生学号:");
char num[10];
scanf("%s",&num);
struct Student *DS,*temp;
for(DS=head;DS!=NULL;)
{
if(strcmp(DS->number,num)==0)
{
if(DS==head)
{
head = DS->next;
flag = 0;
printf("删除成功!\n");
system("pause");
}
else
{
flag = 0;
printf("删除成功!\n");
temp->next= DS->next;
free(DS);
system("pause");
}
}
temp = DS;
DS=DS->next;
}
if(flag != 0)
{
printf("未找到该学生学号!\n");
system("pause");
}
}
}
void AddOne()
{
system("cls");
struct Student *AS =(struct Student*)malloc(sizeof(struct Student));
AS->next = NULL;
int flag = 1;
while (flag != 0)
{
printf("请输入姓名:\n");
scanf("%s", AS->name);
printf("请输入学号:\n");
scanf("%s", AS->number);
printf("1.录入C语言成绩\n");
printf("2.录入数学成绩\n");
printf("3.录入英语成绩\n");
int select;
scanf("%d", &select);
switch (select)
{
case 1:
printf("请输入C语言成绩\n");
scanf("%d", &AS->C_Language);
break;
case 2:
printf("请输入数学成绩\n");
scanf("%d", &AS->Math);
break;
case 3:
printf("请输入英语成绩\n");
scanf("%d", &AS->English);
break;
default:
printf("输入错误,请重新输入\n");
break;
}
printf("录入成功\n");
flag = 0;
struct Student* AO, * temp;
if (head == NULL){
head = AS;
}
else
{
for (AO = head; AO->next != NULL;){
AO = AO->next;
}
AO->next = AS;
}
system("pause");
}
}
void Rank() {
system("cls");
struct Student *p, *q;
struct Student temp;
printf("请选择要进行排名的科目:\n");
printf("1.C语言\n");
printf("2.数学\n");
printf("3.英语\n");
int choice;
scanf("%d", &choice);
for (p = head; p != NULL; p = p->next) {
for (q = p->next; q != NULL; q = q->next) {
int need_swap = 0;
switch (choice) {
case 1:
if (p->C_Language < q->C_Language && p->classID == q->classID) {
need_swap = 1;
}
break;
case 2:
if (p->Math < q->Math && p->classID == q->classID) {
need_swap = 1;
}
break;
case 3:
if (p->English < q->English && p->classID == q->classID) {
need_swap = 1;
}
break;
default:
printf("输入有误,请重新选择:");
break;
}
if (need_swap) {
temp = *p;
*p = *q;
*q = temp;
struct Student *temp_next = p->next;
p->next = q->next;
q->next = temp_next;
}
}
}
printf("按照班级和选择的科目进行排名:\n");
for (struct Student *r = head; r != NULL; r = r->next) {
printf("姓名:%s\t学号:%s\t班级:%d\t", r->name, r->number, r->classID);
switch (choice) {
case 1:
printf("C语言:%d\n", r->C_Language);
break;
case 2:
printf("数学:%d\n", r->Math);
break;
case 3:
printf("英语:%d\n", r->English);
break;
default:
printf("输入有误,请重新选择:");
break;
}
}
system("pause");
}
int main()
{
void Menu();
void Add();
void View();
void Delete();
void Repair();
void ViewAll();
void AddOne();
void Rank();
Menu();
}
看你连着提问了两个问题,两个问题可以综合起来回答。你的代码分成几个文件,分别为:
Student.h文件,代码:
#ifndef _STUDENT_H_
#define _STUDENT_H_
struct Student
{
char name[10];
char number[20];
int classID;
int C_Language;
int Math;
int English;
struct Student* next;
};
#define LEN sizeof(struct Student)
extern struct Student* head ;
extern struct Student* end ;
#endif // !_STUDENT_H_
StudentManager.h文件,代码:
#ifndef _STUDENTMANAGER_H_
#define _STUDENTMANAGER_H_
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Student.h"
void Menu();
void Add();
void View();
void Delete();
void Repair();
void ViewAll();
void AddOne();
void Rank();
#endif
StudentManager.cpp文件,代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include "StudentManager.h"
struct Student* head = NULL;
struct Student* end = NULL;
void Menu()
{
system("cls");
printf("1.学生信息录入\n");
printf("2.单个学生成绩查询\n");
printf("3.查询全部学生成绩\n");
printf("4.修改学生信息\n");
printf("5.删除学生信息\n");
printf("6.学生单科成绩录入\n");
printf("7.班级内单科成绩排名\n");
printf("8.退出系统\n");
int choice;
printf("请选择要使用的功能:\n");
loop:
scanf("%d", &choice);
switch (choice)
{
case 1:
Add();
Menu();
case 2:
View();
Menu();
case 3:
ViewAll();
Menu();
case 4:
Repair();
Menu();
case 5:
Delete();
Menu();
case 6:
AddOne();
Menu();
case 7:
Rank();
Menu();
case 8:
exit(0);
default:
printf("输入有误,请重新选择:");
break;
}
}
void Add()
{
system("cls");
int count;
printf("请输入要录入信息的个数:");
scanf("%d", &count);
struct Student* s1, * s2, * temp;
s1 = s2 = (struct Student*)malloc(LEN);
if (head == NULL)
{
head = s1;
}
else
{
end->next = s1;
}
int i = 1;
while (count > 0)
{
printf("请输入第%d位学生信息:\n", i++);
printf("姓名:\n");
scanf("%s", &s1->name);
printf("学号:\n");
scanf("%s", &s1->number);
printf("班级:\n");
scanf("%d", &s1->classID);
printf("C语言成绩:\n");
scanf("%d", &s1->C_Language);
printf("数学成绩:\n");
scanf("%d", &s1->Math);
printf("英语成绩:\n");
scanf("%d", &s1->English);
count--;
s2->next = s1;
s2 = s1;
s1 = (struct Student*)malloc(LEN);
printf("添加成功!\n");
system("pause");
system("cls");
}
s2->next = NULL;
end = s2;
printf("全部添加成功!\n");
system("pause");
}
void View()
{
system("cls");
struct Student* VS;
printf("输入要查询信息的学生学号:\n");
char num[10];
int flag = 1;
scanf("%s", &num);
for (VS = head; VS != NULL;)
{
if (strcmp(VS->number, num) == 0)
{
printf("成功找到!\n");
printf("姓名:%s\t学号:%s\t班级:%d\t\n", VS->name, VS->number, VS->classID);
printf("C语言:%d\t数学:%d\t英语:%d\t\n", VS->C_Language, VS->Math, VS->English);
flag = 0;
}
VS = VS->next;
}
if (flag != 0)
{
printf("不好意思,未找到!\n");
}
system("pause");
}
void ViewAll()
{
system("cls");
struct Student* VA;
if (head != NULL)
{
printf("所有学生成绩如下:\n");
for (VA = head; VA != NULL;)
{
printf("姓名:%s\t学号:%s\t班级:%d\t\n", VA->name, VA->number, VA->classID);
printf("C语言:%d\t数学:%d\t英语:%d\t\n", VA->C_Language, VA->Math, VA->English);
VA = VA->next;
}
printf("所有不及格科目超过两科的学生名单如下:\n");
for (VA = head; VA != NULL;)
{
int lostNum = 0;
if (VA->C_Language < 60)
{
lostNum++;
}
if (VA->Math < 60)
{
lostNum++;
}
if (VA->English < 60)
{
lostNum++;
}
if (lostNum > 1)
{
printf("姓名:%s\t\n", VA->name);
}
VA = VA->next;
}
}
else
{
printf("该系统中还未录入信息\n");
}
system("pause");
}
void Repair()
{
system("cls");
struct Student* RS;
char num[10];
int flag = 1;
printf("输入要修改成绩学生的学号:\n");
scanf("%s", num);
for (RS = head; RS != NULL;)
{
if (strcmp(RS->number, num) == 0)
{
printf("成功找到该学生\n");
printf("姓名:%s\t学号:%s\t班级:%d\t\n", RS->number, RS->name, RS->classID);
printf("C语言:%d\t数学:%d\t英语:%d\t\n", RS->C_Language, RS->Math, RS->English);
flag = 0;
printf("姓名:\n");
scanf("%s", &RS->name);
printf("学号:\n");
scanf("%s", &RS->number);
printf("班级:\n");
scanf("%d", &RS->classID);
printf("C语言成绩:\n");
scanf("%d", &RS->C_Language);
printf("数学成绩:\n");
scanf("%d", &RS->Math);
printf("英语成绩:\n");
scanf("%d", &RS->English);
printf("修改成功\n");
system("pause");
}
RS = RS->next;
}
if (flag != 0)
{
printf("输入信息有误,未查询到");
system("pause");
}
}
void Delete()
{
system("cls");
int flag = 1;
while (flag != 0)
{
printf("请输入要删除的学生学号:");
char num[10];
scanf("%s", &num);
struct Student* DS, * temp = head;
for (DS = head; DS != NULL;)
{
if (strcmp(DS->number, num) == 0)
{
if (DS == head)
{
head = DS->next;
flag = 0;
printf("删除成功!\n");
system("pause");
}
else
{
flag = 0;
printf("删除成功!\n");
temp->next = DS->next;
free(DS);
system("pause");
}
}
temp = DS;
DS = DS->next;
}
if (flag != 0)
{
printf("未找到该学生学号!\n");
system("pause");
}
}
}
void AddOne()
{
system("cls");
struct Student* AS = (struct Student*)malloc(sizeof(struct Student));
AS->next = NULL;
int flag = 1;
while (flag != 0)
{
printf("请输入姓名:\n");
scanf("%s", AS->name);
printf("请输入学号:\n");
scanf("%s", AS->number);
printf("1.录入C语言成绩\n");
printf("2.录入数学成绩\n");
printf("3.录入英语成绩\n");
int select;
scanf("%d", &select);
switch (select)
{
case 1:
printf("请输入C语言成绩\n");
scanf("%d", &AS->C_Language);
break;
case 2:
printf("请输入数学成绩\n");
scanf("%d", &AS->Math);
break;
case 3:
printf("请输入英语成绩\n");
scanf("%d", &AS->English);
break;
default:
printf("输入错误,请重新输入\n");
break;
}
printf("录入成功\n");
flag = 0;
struct Student* AO, * temp;
if (head == NULL) {
head = AS;
}
else
{
for (AO = head; AO->next != NULL;) {
AO = AO->next;
}
AO->next = AS;
}
system("pause");
}
}
void Rank() {
system("cls");
struct Student* p, * q;
struct Student temp;
printf("请选择要进行排名的科目:\n");
printf("1.C语言\n");
printf("2.数学\n");
printf("3.英语\n");
int choice;
scanf("%d", &choice);
for (p = head; p != NULL; p = p->next) {
for (q = p->next; q != NULL; q = q->next) {
int need_swap = 0;
switch (choice) {
case 1:
if (p->C_Language < q->C_Language && p->classID == q->classID) {
need_swap = 1;
}
break;
case 2:
if (p->Math < q->Math && p->classID == q->classID) {
need_swap = 1;
}
break;
case 3:
if (p->English < q->English && p->classID == q->classID) {
need_swap = 1;
}
break;
default:
printf("输入有误,请重新选择:");
break;
}
if (need_swap) {
temp = *p;
*p = *q;
*q = temp;
struct Student* temp_next = p->next;
p->next = q->next;
q->next = temp_next;
}
}
}
printf("按照班级和选择的科目进行排名:\n");
for (struct Student* r = head; r != NULL; r = r->next) {
printf("姓名:%s\t学号:%s\t班级:%d\t", r->name, r->number, r->classID);
switch (choice) {
case 1:
printf("C语言:%d\n", r->C_Language);
break;
case 2:
printf("数学:%d\n", r->Math);
break;
case 3:
printf("英语:%d\n", r->English);
break;
default:
printf("输入有误,请重新选择:");
break;
}
}
system("pause");
}
main.cpp文件,代码:
#include "StudentManager.h"
int main()
{
Menu();
return 0
现在代码有什么不正常的现象,能不能说一说,方便修改
给改了一稿:
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#define LEN sizeof(struct Student)
struct Student
{
char name[20];
char number[10];
int classID;
int C_Language;
int Math;
int English;
struct Student* next;
};
struct Student* head = NULL;
struct Student* end = NULL;
void Menu();
void Add();
void View();
void ViewAll();
void Repair();
void Delete();
void AddOne();
void Rank();
void Menu()
{
system("cls");
printf("1.学生信息录入\n");
printf("2.单个学生成绩查询\n");
printf("3.查询全部学生成绩\n");
printf("4.修改学生信息\n");
printf("5.删除学生信息\n");
printf("6.学生单科成绩录入\n");
printf("7.班级内单科成绩排名\n");
printf("8.退出系统\n");
printf("请选择要使用的功能:\n");
}
void Add()
{
system("cls");
int count;
printf("请输入要录入信息的个数:");
scanf("%d",&count);
for(int i=1;i<=count;i++)
{
struct Student *s1 =(struct Student*)malloc(LEN);
s1->next = NULL;
if(head == NULL)
head = s1;
printf("请输入第%d位学生信息:\n",i);
printf("姓名:\n");
scanf("%s",s1->name);
printf("学号:\n");
scanf("%s",s1->number);
printf("班级:\n");
scanf("%d", &s1->classID);
printf("C语言成绩:\n");
scanf("%d",&s1->C_Language);
printf("数学成绩:\n");
scanf("%d",&s1->Math);
printf("英语成绩:\n");
scanf("%d",&s1->English);
if(end == NULL)
end = s1;
else
end->next = s1;
printf("添加成功!\n");
system("pause");
system("cls");
}
printf("全部添加成功!\n");
system("pause");
}
void View()
{
system("cls");
struct Student *VS;
printf("输入要查询信息的学生学号:\n");
char num[10];
int flag = 1;
scanf("%s",num);
for(VS=head;VS!=NULL;)
{
if(strcmp(VS->number,num)==0)
{
printf("成功找到!\n");
printf("姓名:%s\t学号:%s\t班级:%d\t\n",VS->name,VS->number,VS->classID);
printf("C语言:%d\t数学:%d\t英语:%d\t\n",VS->C_Language,VS->Math,VS->English);
flag=0;
break;
}
VS=VS->next;
}
if(flag != 0)
{
printf("不好意思,未找到!\n");
}
system("pause");
}
void ViewAll()
{
system("cls");
struct Student *VA;
if(head!=NULL)
{
printf("所有学生成绩如下:\n");
for(VA=head;VA!=NULL;)
{
printf("姓名:%s\t学号:%s\t班级:%d\t\n",VA->name,VA->number,VA->classID);
printf("C语言:%d\t数学:%d\t英语:%d\t\n",VA->C_Language,VA->Math,VA->English);
VA=VA->next;
}
printf("所有不及格科目超过两科的学生名单如下:\n");
for(VA=head;VA!=NULL;)
{
int lostNum = 0;
if(VA->C_Language < 60)
{
lostNum++;
}
if(VA->Math< 60)
{
lostNum++;
}
if(VA->English< 60)
{
lostNum++;
}
if(lostNum > 1)
{
printf("姓名:%s\t\n",VA->name);
}
VA = VA->next;
}
}
else
{
printf("该系统中还未录入信息\n");
}
system("pause");
}
void Repair()
{
system("cls");
struct Student *RS;
char num[10];
int flag = 1;
printf("输入要修改成绩学生的学号:\n");
scanf("%s",num);
for(RS=head;RS!=NULL;)
{
if(strcmp(RS->number,num)==0)
{
printf("成功找到该学生\n");
printf("姓名:%s\t学号:%s\t班级:%d\t\n",RS->number,RS->name,RS->classID);
printf("C语言:%d\t数学:%d\t英语:%d\t\n",RS->C_Language,RS->Math,RS->English);
flag = 0;
printf("姓名:\n");
scanf("%s",RS->name);
printf("学号:\n");
scanf("%s",RS->number);
printf("班级:\n");
scanf("%d",&RS->classID);
printf("C语言成绩:\n");
scanf("%d",&RS->C_Language);
printf("数学成绩:\n");
scanf("%d",&RS->Math);
printf("英语成绩:\n");
scanf("%d",&RS->English);
printf("修改成功\n");
system("pause");
break;
}
RS=RS->next;
}
if(flag != 0)
{
printf("输入信息有误,未查询到");
system("pause");
}
}
void Delete()
{
system("cls");
int flag =1;
while(flag != 0)
{
printf("请输入要删除的学生学号:");
char num[10];
scanf("%s",&num);
struct Student *DS,*temp;
for(DS=head;DS!=NULL;)
{
if(strcmp(DS->number,num)==0)
{
if(DS==head)
{
head = DS->next;
flag = 0;
printf("删除成功!\n");
system("pause");
}
else
{
flag = 0;
printf("删除成功!\n");
temp->next= DS->next;
free(DS);
system("pause");
}
if(head == NULL)
end = NULL;
break;
}
temp = DS;
DS=DS->next;
}
if(flag != 0)
{
printf("未找到该学生学号!\n");
system("pause");
}
}
}
void AddOne()
{
system("cls");
char num[10];
printf("请输入学生学号:");
scanf("%s",num);
struct Student *p = head;
while(p != NULL)
{
if(strcmp(p->number,num) == 0)
{
break;
}
p = p->next;
}
if(p == NULL) //学生不存在,输入学生信息
{
p = (struct Student*)malloc(LEN);
p->next = NULL;
if(head == NULL)
head = p;
if(end == NULL)
end = p;
else
end->next = p;
strcpy(p->number,num);
printf("请输入学生姓名:");
scanf("%s",p->name);
}
while(1)
{
printf("1.录入C语言成绩\n");
printf("2.录入数学成绩\n");
printf("3.录入英语成绩\n");
int select;
scanf("%d", &select);
if(select < 1 || select > 3)
{
printf("输入错误,请重新输入\n");
continue;
}
switch (select)
{
case 1:
printf("请输入C语言成绩\n");
scanf("%d", &p->C_Language);
break;
case 2:
printf("请输入数学成绩\n");
scanf("%d", &p->Math);
break;
case 3:
printf("请输入英语成绩\n");
scanf("%d", &p->English);
break;
}
break;
}
printf("录入成功\n");
system("pause");
}
void Rank() {
system("cls");
struct Student *p, *q;
struct Student temp;
int choice = 0;
while(1)
{
printf("请选择要进行排名的科目:\n");
printf("1.C语言\n");
printf("2.数学\n");
printf("3.英语\n");
int choice;
scanf("%d", &choice);
if(choice < 1 || choice > 3)
{
printf("输入有误,请重新选择:");
continue;
}
break;
}
for (p = head; p != NULL; p = p->next) {
for (q = p->next; q != NULL; q = q->next) {
int need_swap = 0;
switch (choice) {
case 1:
if (p->C_Language < q->C_Language && p->classID == q->classID) {
need_swap = 1;
}
break;
case 2:
if (p->Math < q->Math && p->classID == q->classID) {
need_swap = 1;
}
break;
case 3:
if (p->English < q->English && p->classID == q->classID) {
need_swap = 1;
}
break;
}
if (need_swap) {
temp = *p;
*p = *q;
*q = temp;
struct Student *temp_next = p->next;
p->next = q->next;
q->next = temp_next;
}
}
}
printf("按照班级和选择的科目进行排名:\n");
for (struct Student *r = head; r != NULL; r = r->next) {
printf("姓名:%s\t学号:%s\t班级:%d\t", r->name, r->number, r->classID);
switch (choice) {
case 1:
printf("C语言:%d\n", r->C_Language);
break;
case 2:
printf("数学:%d\n", r->Math);
break;
case 3:
printf("英语:%d\n", r->English);
break;
}
}
system("pause");
}
int main()
{
while(1)
{
Menu();
int choice;
scanf("%d",&choice);
switch (choice)
{
case 1:
Add();
break;
case 2:
View();
break;
case 3:
ViewAll();
break;
case 4:
Repair();
break;
case 5:
Delete();
break;
case 6:
AddOne();
break;
case 7:
Rank();
break;
case 8:
exit(0);
default:
break;
}
system("pause");
}
}
void Menu();
void Add();
void View();
void Delete();
void Repair();
void ViewAll();
void AddOne();
void Rank();
这些都是函数定义,如果是调用,前面的void不要写
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN sizeof(struct Student)
struct Student {
char name[20];
int num;
int age;
char addr[30];
} stu[5];
int main() {
int i;
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的信息:", i + 1);
printf("姓名:");
scanf("%s", stu[i].name);
printf("学号:");
scanf("%d", &stu[i].num);
printf("年龄:");
scanf("%d", &stu[i].age);
printf("地址:");
scanf("%s", stu[i].addr);
}
printf("学生信息表:");
printf("姓名\t学号\t年龄\t地址");
for (i = 0; i < 5; i++) {
printf("%s\\t%d\\t%d\\t%s\\n", stu[i].name, stu[i].num, stu[i].age, stu[i].addr);
}
return 0;
}
这是更正后的代码格式,主要是加上了空行,使得代码更加清晰易读。同时,还对代码进行了一些微调,比如将结构体定义放在了头文件后面,将变量定义放在了函数前面等等。这些微调都是为了让代码更加规范,易于维护。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!