#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define getch()
#define clrscr()
#define N 100
int i,j,k;
char c1,c2,c3,c4;
struct student
{
char name[20];
char sex[4];
long num;
float score[3];
}stu[N];
void input(struct student stu[]) //输入信息
{
for(i=0;i<N;i++)
{
printf("请输入学号:");
scanf("%ld",&stu[i].num);
printf("请输入姓名:");
fflush(stdin);
scanf("%s",&stu[i].name);
printf("请输入性别:");
scanf("%s",&stu[i].sex);
for(j=0;j<3;j++)
{
printf("您的第%d科成绩:",j+1);
scanf("%f",&stu[i].score[j]);
}
printf("\n是否继续输入?(Y/N)");
fflush(stdin);
c1=getchar();
if(c1=='y'||c1=='Y')
{
k++; //k为输入学生个数
input(stu);
}
else break;
}
}
void print(struct student stu[]) //打印出信息
{
printf("所有信息如下:\n");
printf("学号\t姓名\t性别\tC语言\tJava\tVB\n");
for(i=0;i<=k;i++) //i表示共有多少学生
{
printf("-------------------------------------------\n");
printf("%-8ld%-8s%-8s",stu[i].num,stu[i].name,stu[i].sex);
for(j=0;j<3;j++) //j表示共有几门课程
{
printf("%-8.1f",stu[i].score[j]);
}
printf("\n");
}
}
main()
{
int m;
printf("\t\t\t****Welcome to my first work!****\n");
printf("\t\t\t| 1.学生信息录入系统 |\n");
printf("\t\t\t| 2.学生成绩录入系统 |\n");
printf("\t\t\t| 3.系统帮助 |\n");
printf("\t\t\t| 4.推出系统 |\n");
printf("\t\t\t***********Thanks you!**********\n");
printf("\n\n\t\t\t请选择您要进入的系统(1-4):\n");
getch();
clrscr();
input(stu);
print(stu);
}
1:想问下上面红色部分,第一次输入N可以推出,第2次输入N时就不退出了~~为何??
2:还有就是蓝色部分,自己定义函数的话是否都要在上面#define下?
3:fflush(stdin);清除流操作一般用在何处?
3:有没有人有VC助手的注册码,网上的都是过期的不能用~谢谢~