今日学习任务 | 结构体,结构体与链表,内存管理,公共体 |
今日任务完成情况 | 按时完成了任务,写了一个相对比较大的程序,能跟的上思路 |
今日开发中出现的问题汇总 | 头文件的添加 |
今日未解决问题 | 无 |
今日开发收获 |
|
自我评价 | 今天听得挺多的感觉会了不少,同时今天同老师一起编写了一个程序,把之前课设的又做了一遍 |
其他
#ifndef _STUDENT_H
#define _STUDENT_H
#define size 10
struct student
{
int id;
char name[20];
int age;
char sex;
int num;
};
int i;//数组下标
typedef struct student stu;
#endif
源文件
#include<stdio.h>
#include<stdlib.h>
#include"student.h"
void menu()
{
printf("****************************\n");
printf("1、输入信息 2、显示信息\n");
printf("3、删除信息 4、修改信息\n");
printf("****************************\n");
}
void AddInfo(stu s[])
{
printf("请输入姓名、年龄、性别、学号:\n");
scanf("%s%d %c %d", s[i].name, &s[i].age, &s[i].sex, &s[i].num);
s[i].id=i+1;
i++;
}
void showinfo(stu s[])
{
int j;
for(j=0;j<i;j++)
{
printf("学生%d信息:\n",s[j].id);
printf("姓名:%s年龄:%d性别:%c学号:%d\n",s[j].name,s[j].age,s[j].sex,s[j].num);
}
}
void deleteinfo(stu *s)
{
int id,j;
printf("输入删除的学生序号");
scanf("%d\n",&id);
for(j=0;j<i-id;j++)
{
s[id+j-1]=s[id+j];
s[id+j-1].id=id+j;
}
i--;
}
void changeinfo(stu *s)
{
int id;
printf("输入修改学生的序号");
scanf("%d",&id);
printf("修改的后的姓名,年龄 性别 学号");
scanf("%s%d%s%d",s[id-1].name, &s[id-1].age, &s[id-1].sex, &s[id-1].num);
}
int main()
{
char choice[10] = {0};
stu student[size] = {0};
while(1)
{
menu();
scanf("%s", choice);
switch(atoi(&choice[0]))
{
case 1:
AddInfo(student);
break;
case 2:
showinfo(student);
break;
case 3:
deleteinfo(student);
break;
case 4:
changeinfo(student);
break;
}
}
return 0;
}