Student score entry management system

A simple entry system, enter the student’s name, student number, and three test scores, mainly inspect the structure, pointer array, function structure and application of if

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//定义数据
struct Student
{
    
    
	int id;
	char name[16];
	int score[3];

};
Student data[100];//存储所有数据
int count = 0;//总个数

int input(Student*s)//输入各项值
{
    
    
	printf("ID:");
	scanf("%d", &s->id);
	printf("name:");
	scanf("%s",&s->name);
	printf("score:");
	scanf("%d,%d,%d", &s->score[0],&s->score [1],&s->score[2]);
	return 0;
}

int add(const Student*s)
{
    
    
	data[count] = *s;
	count++;
	return 0;
}

void list_all()
{
    
    
	for (int i = 0; i < count; i++)
	{
    
    
		Student*s = &data[i];
		printf("ID:%d\t,Name:%s\t,Score:%d,%d,%d\n", s->id, s->name, s->score[0], s->score[1], s->score[2]);
	}
}

Student* find(const char *name)
{
    
    
	for (int i = 0; i < count; i++)
	{
    
    
		Student*s = &data[i];
		if (strcmp(name, s->name) == 0)
		{
    
    
			return s;
		}
		else
		{
    
    
			return NULL;
		}
	}
}
int main(void)
{
    
    
	char cmdline[128];
	while (1)
	{
    
    
		printf(">");
		scanf("%s", &cmdline);
		if (strcmp(cmdline, "exit") == 0)
		{
    
    
			printf("now exit...\n");
			break;
		}
		if (strcmp(cmdline, "add") == 0)
		{
    
    
			Student s;
			input(&s);
			add(&s);
			continue;
		}
		if (strcmp(cmdline, "list") == 0)
		{
    
    
			list_all();
			continue;
		}
		if (strcmp(cmdline, "count") == 0)
		{
    
    
			printf("total:\n", count);
			continue;
		}
		if (strcmp(cmdline, "find") == 0)
		{
    
    
			printf("enter name:");
			char name[16];
			scanf("%f", name);

			Student *s = find(cmdline);
			if (s!=NULL)
			{
    
    
				printf("FOUND:ID:%d\t,Name:%s\t,Score:%d,%d,%d\n", s->id, s->name, s->score[0], s->score[1], s->score[2]);
			}
			else
			{
    
    
				printf("NOT FOUND");
			}
			continue;
		}
	}
	return 0;
	system("pause");
}

Guess you like

Origin blog.csdn.net/m0_51835877/article/details/109287884