• 大小: 1.14MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-28
  • 语言: C/C++
  • 标签: C语言  codeblocks  

资源简介

在codeblocks环境下编写、编译,内附实验报告,写的比较完整

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 

//考虑到单条宏定义对内存影响不大,因此设置了较丰富的宏定义

#define MAXADDRESS 120//用户输入文件地址的最长长度

//主函数中的宏定义
#define MAIN_INPUT 20//用于用户输入命令
#define LIST_NUM 15//用于用户输入命令对应菜单中选项的长度

//关于结构体类型stu的定义
#define MAXNUMBER 15//由于技术有限,此项不得超过16
#define MAXNAME 15//由于技术有限,此项不得超过16
#define MAXCOURSENAME 15//由于技术有限,此项不得超过16
#define COURSENUM 3//若修改此项,请务必修改下一行的coursename
char coursename[COURSENUM][MAXCOURSENAME] = {“Math“ “English“ “Computer“};//各课程的名字
typedef struct stu
{
    char number[MAXNUMBER];//学号
    char name[MAXNAME];//姓名
    float score[COURSENUM];//各科成绩
    float aver;//平均分
    float total;//总分
}STUDENT;

//链表的定义
typedef struct node
{
    STUDENT student;
    struct node *next;
}Node;

//全局变量定义
float aver_course[COURSENUM+2];//课程的平均分+所有学生总分的平均分+所有学生平均分的平均分

//函数声明。具体功能参见主函数后函数定义部分
Node* Calculate_course(Node *head);
Node* Sort_total_ascend(Node *head);
Node* Reverse_link(Node *head);
Node* Sort_number_ascend(Node *head);
Node* Sort_name_ascend(Node *head);
Node* Seek_name(Node *head char *str);
Node* Seek_number(Node *head char *str);
void Print_analysis(Node *head);
void Print_single_header(void);
void Print_single(Node *p);
void Print_all(Node *head);
int Read_file(char *file_address Node **head);
int Save_file(char *file_address Node *head);
void Print_menu(void);
Node* Delete_name(Node *head char *str);
Node* Delete_number(Node *head char *str);
void Scan(Node *p);
void Str_change(char *p);
Node* Append_node(Node **head);
Node* Delete_node(Node *head Node *p);
Node* Delete_Memory(Node *head);
void File_address_change(char *file_address);
void Gets_safe(char *input int size);

//主程序
int main()
{
    char input[MAIN_INPUT] = {0};
    char tempName[MAXNAME] = {0};
    char tempNumber[MAXNUMBER] = {0};
    char file_address[MAXADDRESS] = {0};
    Node *head = NULL;
    Node *pt;

    Print_menu();

    printf(“Welcome to use this student achievement management system! You can input \“menu\“ to call the menu\n“);
    printf(“I suggest you always use \“0\“ to exit the program. This will back up the file you are editing in the root directory.\n\n“);

    while(1)
    {
        //system(“pause“);
        //system(“cls“);//为方便查看历史信息,不使用这两行代码

        //用户输入选项
         {
            printf(“Here is main menu. Please input your choice:“);

            Gets_safe(input sizeof(input));//相当于使用fgets,将fgets最后的\n转化成\0,并且输入后自动清空缓冲区

            printf(“\n“);
        }

        //查看链表
        if(strcmp(input “see“) == 0)
        {
            Print_all(head);
            printf(“Program has jumped to the main menu.\n\n“);
            continue;//每个功能使用结束后跳转到“用户输入选项”
        }

        //唤出菜单
        else if(strcmp(input “menu“) == 0)
        {
            Print_menu();
            printf(“\n“);
            continue;
        }

        //退出
        else if(strcmp(input “0“)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-12-17 12:30  1190201706\
     目录           0  2019-12-11 17:41  1190201706\big_homework\
     文件        1090  2019-12-08 10:03  1190201706\big_homework\big_homework.cbp
     文件         158  2019-12-11 16:40  1190201706\big_homework\big_homework.depend
     文件         356  2019-12-11 17:41  1190201706\big_homework\big_homework.layout
     目录           0  2019-12-08 10:05  1190201706\big_homework\bin\
     目录           0  2019-12-11 17:06  1190201706\big_homework\bin\Debug\
     文件       50650  2019-12-11 17:06  1190201706\big_homework\bin\Debug\big_homework.exe
     文件       28726  2019-12-11 17:06  1190201706\big_homework\main.c
     目录           0  2019-12-08 10:05  1190201706\big_homework\obj\
     目录           0  2019-12-11 17:06  1190201706\big_homework\obj\Debug\
     文件       23529  2019-12-11 17:06  1190201706\big_homework\obj\Debug\main.o
     文件         361  2019-12-11 17:05  1190201706\big_homework\temp12138.txt
     文件     3046400  2019-12-17 12:29  1190201706\高级语言程序设计实验大作业反思报告.doc

评论

共有 条评论