archieve-projects/学生-信息-管理-结构体实现-CPP/main.c

82 lines
1.5 KiB
C

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int count = 0;
struct student {
char name[50];
char sex;
int age;
char class[50];
}students[10];
void print() {
if (!count) {
puts("错误!无任何记录!\n");
return;
}
for (int i = 0; i < count; i++) {
printf("\n-----学生%d-----\n姓名:", i + 1);
puts(students[i].name); printf("性别:");
putchar(students[i].sex); putchar('\n');
printf("年龄:%d\n班级:", students[i].age);
puts(students[i].class);
printf("--------------\n");
}
}
void In() {
if (count >= 10)
{
printf("不好意思,记录已满,无法新增\n");
}
else {
printf("请输入学生姓名:");
scanf("%s %c %d %s", students[count].name,&students[count].sex, &students[count].age, students[count].class);
fflush(stdin);
count++;
puts("添加成功!目前记录:");
}
print();
}
void delete() {
int num = 0;
if (!count)
{
puts("错误!无任何记录!\n");
return;
}
print();
printf("输入要删除的学生序号:");
scanf("%d", &num);
if (num > count + 1) { printf("没有此记录!\n"); return; }
else {
for (int i = num - 1; i < count; i++)
{
for (int j = num; i < count; i++)
{
students[i] = students[j];
count--;
}
}
}
puts("\n删除成功!目前记录:\n");
print();
}
int main()
{
int num = 1;
while (num != 0) {
printf("0.退出\t1.录入\t2.删除\t3.查询\n");
printf("请输入操作序号:\n");
scanf("%d", &num);
switch (num) {
case 0: num = 0; break;
case 1: In(); break;
case 2: delete(); break;
case 3: print(); break;
}
}
}