#include“stdio.h”
#include”stdlib.h“
#include“string.h“
#include”windows.h”
menu();
typedef struct node
{ char num[20];
int YW;
int SX;
int YY;
int WL;
int HX;
struct node *next;
}LinkList;
struct node *L;
void xuanze()
{int a;
scanf("%d",&a);
switch(a)
{
case 1:input();break;
case 2:brows();break;
case 3:add();break;
case 4:Del();break;
}
return 0;
}
void input()
{
LinkList *p=L,*s;
char t[20];
printf("请输入要输入的学生学号,以0结束!\n");
scanf ("%s",t);
while(1)
{
if(strcmp(t,"0")==0)
break;
s=(LinkList *)malloc(sizeof(LinkList));
strcpy(s->num,t);
printf("请输入语文成绩:");
scanf("%d",&s->YW);
printf("请输入数学成绩:");
scanf("%d",&s->SX);
printf("请输入英语成绩:");
scanf("%d",&s->YY);
printf("请输入物理成绩:");
scanf("%d",&s->WL);
printf("请输入化学成绩:");
scanf("%d",&s->HX);
p->next=s;
p=s;
p->next=NULL;
printf("请输入下一个学生学号,以0结束!");
scanf("%s",t);
}
menu();
}
void add()
{
LinkList *p=L,*s;
char t[20];
printf("请输入要添加的学生学号,以0结束!\n");
scanf ("%s",t);
while(1)
{
if(strcmp(t,"0")==0)
break;
LinkList * s=(LinkList *)malloc(sizeof(LinkList));
strcpy(s->num,t);
printf("请输入语文成绩:");
scanf("%d",&s->YW);
printf("请输入数学成绩:");
scanf("%d",&s->SX);
printf("请输入英语成绩:");
scanf("%d",&s->YY);
printf("请输入物理成绩:");
scanf("%d",&s->WL);
printf("请输入化学成绩:");
scanf("%d",&s->HX);
while(p->next=NULL)
p=p->next;
p->next=s;
p=s;
p->next=NULL;
printf("请输入下一个要添加的学生学号,以0结束!");
scanf("%s",t);
}
menu();
}
menu();
}
void brows()
{
LinkList *p=L->next;
if(p==NULL)
printf("该系统无学生!");
while(p!=NULL)
{
printf("学号%s,语文%d,数学%d,英语%d,物理%d,化学%d",
p->num,p->YW,p->SX,p->YY,p->WL,p->HX);
p=p->next;
}
menu();
}
void Del(LinkList *p) //删除学生信息
{
LinkList *s;
char num[100];
printf("请输入要删除的学生的学号,以0结束\n");
scanf("%s",&num);
while(1)
{
if(strcmp(num,"0")==0) break;
if (p->next==NULL)
printf("学生表中没有任何的学生记录\n");
else
{
while(p!=NULL)
{s = p->next;
if(s!=NULL)
{
if(strcmp(s->num,num)== 0)
{
p->next=s->next;
break;
}
}
p = p->next;
}
}
printf("请输入要删除的学生的学号,以0结束\n");
scanf("%s", &num);
}
menu(); }
void menu()
{
{printf("\t\t\t\t欢迎使用学生成绩管理系统\n");
printf("1.输入学生成绩\n");
printf("2.浏览学生成绩\n");
printf("3.添加学生成绩\n");
printf("4.删除学生成绩\n");
printf("0.退出系统\n");
printf("输入选择的菜单序号");
}
return 0;
}
int main()
{
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
}
错误太多了,不谈运行,先解决编译错误:
// Q704532.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "windows.h"
typedef struct node
{ char num[20];
int YW;
int SX;
int YY;
int WL;
int HX;
struct node *next;
}LinkList;
struct node *L;
void input();
void brows();
void Del();
void add();
int menu();
int xuanze()
{int a;
scanf("%d",&a);
switch(a)
{
case 1:input();break;
case 2:brows();break;
case 3:add();break;
case 4:Del();break;
}
return 0;
}
void input()
{
LinkList *p=L,*s;
char t[20];
printf("请输入要输入的学生学号,以0结束!\n");
scanf ("%s",t);
while(1)
{
if(strcmp(t,"0")==0)
break;
s=(LinkList *)malloc(sizeof(LinkList));
strcpy(s->num,t);
printf("请输入语文成绩:");
scanf("%d",&s->YW);
printf("请输入数学成绩:");
scanf("%d",&s->SX);
printf("请输入英语成绩:");
scanf("%d",&s->YY);
printf("请输入物理成绩:");
scanf("%d",&s->WL);
printf("请输入化学成绩:");
scanf("%d",&s->HX);
p->next=s;
p=s;
p->next=NULL;
printf("请输入下一个学生学号,以0结束!");
scanf("%s",t);
}
menu();
}
void add()
{
LinkList *p=L,*s=NULL;
char t[20];
printf("请输入要添加的学生学号,以0结束!\n");
scanf ("%s",t);
while(1)
{
if(strcmp(t,"0")==0)
break;
LinkList * s=(LinkList *)malloc(sizeof(LinkList));
strcpy(s->num,t);
printf("请输入语文成绩:");
scanf("%d",&s->YW);
printf("请输入数学成绩:");
scanf("%d",&s->SX);
printf("请输入英语成绩:");
scanf("%d",&s->YY);
printf("请输入物理成绩:");
scanf("%d",&s->WL);
printf("请输入化学成绩:");
scanf("%d",&s->HX);
while(p->next=NULL)
p=p->next;
p->next=s;
p=s;
p->next=NULL;
printf("请输入下一个要添加的学生学号,以0结束!");
scanf("%s",t);
}
menu();
}
void brows()
{
LinkList *p=L->next;
if(p==NULL)
printf("该系统无学生!");
while(p!=NULL)
{
printf("学号%s,语文%d,数学%d,英语%d,物理%d,化学%d",
p->num,p->YW,p->SX,p->YY,p->WL,p->HX);
p=p->next;
}
menu();
}
void Del() //删除学生信息
{
LinkList *p;
LinkList *s;
char num[100];
printf("请输入要删除的学生的学号,以0结束\n");
scanf("%s",&num);
while(1)
{
if(strcmp(num,"0")==0) break;
if (p->next==NULL)
printf("学生表中没有任何的学生记录\n");
else
{
while(p!=NULL)
{s = p->next;
if(s!=NULL)
{
if(strcmp(s->num,num)== 0)
{
p->next=s->next;
break;
}
}
p = p->next;
}
}
printf("请输入要删除的学生的学号,以0结束\n");
scanf("%s", &num);
}
menu(); }
int menu()
{
{printf("\t\t\t\t欢迎使用学生成绩管理系统\n");
printf("1.输入学生成绩\n");
printf("2.浏览学生成绩\n");
printf("3.添加学生成绩\n");
printf("4.删除学生成绩\n");
printf("0.退出系统\n");
printf("输入选择的菜单序号");
}
return 0;
}
int main()
{
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
menu();
xuanze();
}
采纳本回答和http://my.csdn.net/yueyue2360 帮你继续修改
1、你想要调用函数时,必须在之前就声明过函数
2、void函数无返回值,可以用return;结束,但不能给返回值
3、Del函数带有一个参数;
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
typedef struct node
{
char num[20];
int YW;
int SX;
int YY;
int WL;
int HX;
struct node *next;
}LinkList;
//函数声明
void menu();
void add();
void brows();
void Del(LinkList *p);
void input();
struct node *L;
void xuanze()
{
int a;
scanf("%d", &a);
switch (a)
{
case 1:input(); break;
case 2:brows(); break;
case 3:add(); break;
case 4:Del(L); break;
}
return ;
}
void input()
{
LinkList *p = L, *s;
char t[20];
printf("请输入要输入的学生学号,以0结束!\n");
scanf("%s", t);
while (1)
{
if (strcmp(t, "0") == 0)
break;
s = (LinkList *)malloc(sizeof(LinkList));
strcpy(s->num, t);
printf("请输入语文成绩:");
scanf("%d", &s->YW);
printf("请输入数学成绩:");
scanf("%d", &s->SX);
printf("请输入英语成绩:");
scanf("%d", &s->YY);
printf("请输入物理成绩:");
scanf("%d", &s->WL);
printf("请输入化学成绩:");
scanf("%d", &s->HX);
p->next = s;
p = s;
p->next = NULL;
printf("请输入下一个学生学号,以0结束!");
scanf("%s", t);
}
menu();
}
void add()
{
LinkList *p = L, *s;
char t[20];
printf("请输入要添加的学生学号,以0结束!\n");
scanf("%s", t);
while (1)
{
if (strcmp(t, "0") == 0)
break;
LinkList * s = (LinkList *)malloc(sizeof(LinkList));
strcpy(s->num, t);
printf("请输入语文成绩:");
scanf("%d", &s->YW);
printf("请输入数学成绩:");
scanf("%d", &s->SX);
printf("请输入英语成绩:");
scanf("%d", &s->YY);
printf("请输入物理成绩:");
scanf("%d", &s->WL);
printf("请输入化学成绩:");
scanf("%d", &s->HX);
while (p->next = NULL)
p = p->next;
p->next = s;
p = s;
p->next = NULL;
printf("请输入下一个要添加的学生学号,以0结束!");
scanf("%s", t);
}
menu();
}
void brows()
{
LinkList *p = L->next;
if (p == NULL)
printf("该系统无学生!");
while (p != NULL)
{
printf("学号%s,语文%d,数学%d,英语%d,物理%d,化学%d",
p->num, p->YW, p->SX, p->YY, p->WL, p->HX);
p = p->next;
}
menu();
}
void Del(LinkList *p) //删除学生信息
{
LinkList *s;
char num[100];
printf("请输入要删除的学生的学号,以0结束\n");
scanf("%s", &num);
while (1)
{
if (strcmp(num, "0") == 0) break;
if (p->next == NULL)
printf("学生表中没有任何的学生记录\n");
else
{
while (p != NULL)
{
s = p->next;
if (s != NULL)
{
if (strcmp(s->num, num) == 0)
{
p->next = s->next;
break;
}
}
p = p->next;
}
}
printf("请输入要删除的学生的学号,以0结束\n");
scanf("%s", &num);
}
menu();
}
void menu()
{
{printf("\t\t\t\t欢迎使用学生成绩管理系统\n");
printf("1.输入学生成绩\n");
printf("2.浏览学生成绩\n");
printf("3.添加学生成绩\n");
printf("4.删除学生成绩\n");
printf("0.退出系统\n");
printf("输入选择的菜单序号");
}
return ;
}
int main()
{
L = (LinkList *)malloc(sizeof(LinkList));
L->next = NULL;
}