商品销售信息管理系统(大一C语言课设)
一、设计需求:
设计一个商品销售信息管理系统,可采用链表或数组存储数据,对商品编号、名称、售价、现存数量、产地等信息进行管理。系统具有按商品编号的查找、排序以及添加(进货)、删除(卖出商品)等操作。创建的链表或数组可存储于文件中,并能从文件中读取所存储的数据。主要模块组成为:
1.录入模块
2.显示模块
3.查询模块
4.删除模块
5.修改模块
6.统计模块
7.排序模块
二、实现途径
1.采用数组存储数据。
2.编程软件:Vidual Studio 2019
三、代码功能:
1.关于商品信息的管理:编号、名称、价格、库存、类型(文具等)、进货量、出货量、进售额、出售额、利润。没有对产地信息进行管理,读者可更换类型或另加上。
2.函数Show:操作界面
3.函数input:输入商品信息
4.函数save:将数组信息保存到文本中
5.函数refer:商品信息查询
6.函数modifygoods:此代码中将修改模块和统计模块结合于该函数。修改模块功能体现在可以对商品价格进行降价或涨价,进货和出售商品。对任务中的统计模块的功能理解为对商品进货数量和出售数量进行统计,并计算进售额、出售额和该商品的利润。
7.函数delete:对商品信息进行删除
8.函数sortrank:对商品进行排序。共有三种排序模式:按编号从小到大排序,按价格从低到高进行排序,按库存数量从高到低排序。
四、代码展示:
#pragma warning(disable:4996) //防止vs2019对fopen函数的警告
#include <stdio.h>
#include <string.h> //内含strcmp函数
#include <stdlib.h> //内含exit,system函数
#define N1 20 //定义数组大小
#define N2 50 //定义结构体大小struct commdity //声明结构体类型
{int num; //商品编号char name[N1]; //商品名称float price; //商品价格int inventory; //商品库存char type[N1]; //商品类型int quantity1; //商品进货量int quantity2; //商品出售量float sum1; //商品进售额float sum2; //商品出售额float profit; //商品利润
};struct commdity com[N2], com1; //初始化结构体变量,com1为排序模块中的中间变量结构体int Show(); //操作界面
void input(struct commdity* ps, int i); //输入函数
void save(struct commdity com[], int n); //保存数据函数
void refer(struct commdity com[]); //查询函数
void modifygoods(struct commdity com[]); //修改与统计函数
void delete(struct commdity com[]); //删除函数
void sortrank(int number); //排序函数int main() {int i; //普通变量int n; //商品总共类型int access; //操作通道口int number; //操作5的选项操作access = Show(); //接受操作通道值while (access != 6) //当通道值为6时退出循环及操作6退出系统{if (access == 1) //操作1输入商品信息{printf("请输入您要输入商品的类型有几种:");scanf_s("%d", &n);for (i = 0; i < n; i++){input(&com[i], i + 1); //向结构体中输入数据,i+1为商品编号,从1开始}save(com, n); //将数据保存到文件中//回到主页面函数system("pause"); //暂停,等待用户信号(不然控制台程序会一闪即过, 来不及看到执行结果)system("cls"); //清屏操作access = Show(); //操作界面函数}else if (access == 2) //操作2查询商品信息{refer(com);system("pause");system("cls");access = Show();}else if (access == 3) //操作3修改商品信息{modifygoods(com);system("pause");system("cls");access = Show();}else if (access == 4) //操作4删除商品信息{delete(com);system("pause");system("cls");access = Show();}else if (access == 5) //操作5排序模块{printf("1----按编号从小到大进行排序\n");printf("2----按价格从低到高进行排序\n");printf("3----按库存数量从多到少进行排序\n");printf("请选择操作项目:\n");scanf_s("%d", &number);sortrank(number);printf("排序成功!");system("pause");system("cls");access = Show();}}return 0;
} int Show() //操作界面
{int access;printf("*********************************\n");printf("* 商品信息管理系统 *\n");printf("* 1---输入商品信息 *\n");printf("* 2---查询商品信息 *\n");printf("* 3---修改与统计商品信息 *\n");printf("* 4---删除商品信息 *\n");printf("* 5---商品信息统计 *\n");printf("* 6---退出系统功能 *\n");printf("*********************************\n");printf("\n");printf("\n");printf("请输入序号选择功能\n");printf("请输入你的选择:");scanf_s("%d", &access); //选择操作通道口system("cls"); //清屏操作return access; //返回操作通道值access
}void input(struct commdity* ps, int i) //输入函数
{printf("请输入第%d个商品的相关信息(编号、名称、价格、库存、类型)(用Tab键隔开):\n", i);scanf_s("%d %s %f %d %s", &(*ps).num, (*ps).name, sizeof(com[i].name), &(*ps).price, &(*ps).inventory, (*ps).type, sizeof(com[i].type));
}void save(struct commdity com[], int n) //保存数据函数
{FILE* pf = fopen("Shop.txt", "a"); //以追加方式打开文件(如果文件不存在,那么创建一个新文件;如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。)if (pf == NULL) //判断文件是否打开成功{printf("读取文件失败!\n");exit(0);}for (int i = 0; i < n; i++) //将结构体中的数据保存入文件中{com[i].quantity1 = com[i].quantity2 = 0; //对商品没有操作前进货量,出货量,进售额,出售额,利润 赋0com[i].sum1 = com[i].sum1 = com[i].profit = 0;fprintf(pf, "%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}fclose(pf); //关闭文件printf("保存商品信息成功!\n");
}void refer(struct commdity com[]) //查询函数
{int i; //普通变量int num; //所要查询的商品编号int number; //操作序号printf("请输入序号(1--查询单个商品、2--查询全部商品):");scanf_s("%d", &number);if (number == 1) //操作1查询单个商品{printf("请输入您要查询商品的商品编号:");scanf_s("%d", &num);system("cls");FILE* pf = fopen("Shop.txt", "r"); //以读取方式打开文件。只允许读取,不允许写入。文件必须存在,否则打开失败。if (pf == NULL) //判断文件是否打开成功{printf("读取文件失败!\n");exit(0);}for (i = 0; i < N2; i++) //从文件中读取数据{fscanf_s(pf, "%d %s %f %d %s %d %d %f %f %f", &com[i].num, com[i].name, sizeof(com[i].name), &com[i].price, &com[i].inventory, com[i].type, sizeof(com[i].type), &com[i].quantity1, &com[i].quantity2, &com[i].sum1, &com[i].sum2, &com[i].profit);if (num == com[i].num){printf("商品编号: %d\n", com[i].num);printf("商品名称: %s\n", com[i].name);printf("商品价格: %f\n", com[i].price);printf("商品库存: %d\n", com[i].inventory);printf("商品类型: %s\n", com[i].type);printf("商品进货量:%d\n", com[i].quantity1);printf("商品出售量:%d\n", com[i].quantity2);printf("商品进售额:%0.2f\n", com[i].sum1);printf("商品出售额:%0.2f\n", com[i].sum2);printf("商品利润: %0.2f\n", com[i].profit);break;}}fclose(pf);}else if (number == 2) //查询全部商品{system("cls");FILE* pf = fopen("Shop.txt", "r"); //以读取方式打开文件。只允许读取,不允许写入。文件必须存在,否则打开失败。if (pf == NULL) //判断文件是否打开成功{printf("读取文件失败!\n");exit(0);}for (i = 0; i < N2; i++){fscanf_s(pf, "%d %s %f %d %s %d %d %f %f %f", &com[i].num, com[i].name, sizeof(com[i].name), &com[i].price, &com[i].inventory, com[i].type, sizeof(com[i].type), &com[i].quantity1, &com[i].quantity2, &com[i].sum1, &com[i].sum2, &com[i].profit);}printf("全部商品信息如下(商品编号、商品名称、商品价格、商品库存、商品类型、商品进货量、商品出售量、商品进售额、商品出售额、商品利润):\n");for (i = 0; i < N2; i++){if (com[i].num == 0){continue;}printf("%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}}
}void modifygoods(struct commdity com[]) //修改与统计函数
{int i, j; //普通变量int m = 0; //修改商品的编号int number; //操作序号int quantity1; //进货数量int quantity2; //出售数量float a; //降价金额float b; //涨价金额FILE* pf = fopen("Shop.txt", "r"); //以读取方式打开文件。只允许读取,不允许写入。文件必须存在,否则打开失败。if (pf == NULL) //判断文件是否打开成功{printf("读取文件失败!\n");exit(0);}for (i = 0; i < N2; i++) //从文本中读取数据{fscanf_s(pf, "%d %s %f %d %s %d %d %f %f %f", &com[i].num, com[i].name, sizeof(com[i].name), &com[i].price, &com[i].inventory, com[i].type, sizeof(com[i].type), &com[i].quantity1, &com[i].quantity2, &com[i].sum1, &com[i].sum2, &com[i].profit);}fclose(pf);printf("----------------------------------------------------------------\n");printf("全部商品信息如下(商品编号、商品名称、商品价格、商品库存、商品类型、商品进货量、商品出售量、商品进售额、商品出售额、商品利润):\n");for (i = 0; i < N2; i++){if (com[i].num == 0){continue;}printf("%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}printf("----------------------------------------------------------------\n");printf("请输入您要修改商品的商品编号:");scanf_s("%d", &m);for (i = 0; i < N2; i++){if (m == com[i].num && com[i].num != 0) //所要修改的商品编号与com[i].num中的商品编号进行匹配(结构体不等于0防止结构自动补0)或者break跳出循环也可{printf("要修改的商品信息为:\n"); //显示所要修改的商品的信息printf("商品编号: %d\n", com[i].num);printf("商品名称: %s\n", com[i].name);printf("商品价格: %f\n", com[i].price);printf("商品库存: %d\n", com[i].inventory);printf("商品类型: %s\n", com[i].type);printf("商品进货量:%d\n", com[i].quantity1);printf("商品出售量:%d\n", com[i].quantity2);printf("商品进售额:%0.2f\n", com[i].sum1);printf("商品出售额:%0.2f\n", com[i].sum2);printf("商品利润: %0.2f\n", com[i].profit);printf("--------------------------------\n");m = i; //将修改商品编号改成对应结构体下标}}printf("请输入您要修改内容(1--进货、2--出售、3--降价、4--升价)!\n");printf("请输入序号:");scanf_s("%d", &number);pf = fopen("Shop.txt", "w"); //以写入方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。if (pf == NULL) //判断文件是否打开成功{printf("读取文件失败!\n");exit(0);}if (number == 1) //操作1进货{printf("请输入您要进货的数量:");scanf_s("%d", &quantity1);com[m].inventory += quantity1;com[m].quantity1 = quantity1 + com[m].quantity1;com[m].sum1 = com[m].quantity1 * com[m].price;}if (number == 2) //操作2出售{printf("请输入您要出售的数量:");scanf_s("%d", &quantity2);j = com[m].inventory - quantity2; //检测库存不足函数启动值while (j < 0) //检测库存不足函数{printf("库存数量不足!请重新输入你要出售的数量:");scanf_s("%d", &quantity2);j = com[m].inventory - quantity2;}com[m].inventory = j;com[m].quantity2 = quantity2 + com[m].quantity2;com[m].sum2 = com[m].quantity2 * com[m].price;}if (number == 3) //操作3降价{printf("请输入降价金额:");scanf_s("%f", &a);com[m].price -= a;}if (number == 4) //操作4涨价{printf("请输入降价金额:");scanf_s("%f", &b);com[m].price += b;}com[m].profit = com[m].sum2 - com[m].sum1;system("cls"); //显示修改后的商品信息printf("修改成功!\n");printf("商品编号: %d\n", com[m].num);printf("商品名称: %s\n", com[m].name);printf("商品价格: %f\n", com[m].price);printf("商品库存: %d\n", com[m].inventory);printf("商品类型: %s\n", com[m].type);printf("商品进货量:%d\n", com[m].quantity1);printf("商品出售量:%d\n", com[m].quantity2);printf("商品进售额:%0.2f\n", com[m].sum1);printf("商品出售额:%0.2f\n", com[m].sum2);printf("商品利润: %0.2f\n", com[m].profit);printf("--------------------------------\n");for (i = 0; i < N2; i++) //将修改后的商品信息存入文件中{if (com[i].num == 0) //结构体未被初始化部分自动补0,依次判断有效数据输入文本中后跳出循环{continue;}fprintf(pf, "%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}fclose(pf);
}void delete(struct commdity com[]) //删除函数
{char name1[20] = { 0 }; //所查询商品名称待输入数组int num1; //商品编号int i, j, m; //普通变量char a[5] = { 0 }; //yes或no待输入数组char b[5] = { "yes" }, c[5] = { "no" }; //选项数组char d[5] = "\0"; //检测数组FILE* pf = fopen("Shop.txt", "r"); //以读取方式打开文件。只允许读取,不允许写入。文件必须存在,否则打开失败。if (pf == NULL) //判断文件是否打开成功{printf("读取文件失败!\n");exit(0);}for (i = 0; i < N2; i++) //从文本中读取数据{fscanf_s(pf, "%d %s %f %d %s %d %d %f %f %f", &com[i].num, com[i].name, sizeof(com[i].name), &com[i].price, &com[i].inventory, com[i].type, sizeof(com[i].type), &com[i].quantity1, &com[i].quantity2, &com[i].sum1, &com[i].sum2, &com[i].profit);}printf("请根据商品名称或商品编号删除商品信息\n");printf("请输入序号(1--商品名称、2--商品编号):");scanf_s("%d", &j);printf("----------------------------------------------------------------\n"); //从文本中读取所有商品信息printf("全部商品信息如下(商品编号、商品名称、商品价格、商品库存、商品类型、商品进货量、商品出售量、商品进售额、商品出售额、商品利润):\n");for (i = 0; i < N2; i++){if (com[i].num == 0){continue; //结构体未被初始化部分自动补0,依次判断有效数据后跳出循环}printf("%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}printf("----------------------------------------------------------------\n");if (j == 1) //进入商品名称删除模块{printf("请输入商品名称:");scanf_s("%s", name1, 20);printf("--------------------------------\n");for (i = 0; i < N2; i++){if (strcmp(name1, com[i].name) == 0) //对所需要删除商品名称进行数据匹配{printf("要删除的商品信息为:\n"); //删除商品的信息显示printf("商品编号: %d\n", com[i].num);printf("商品名称: %s\n", com[i].name);printf("商品价格: %f\n", com[i].price);printf("商品库存: %d\n", com[i].inventory);printf("商品类型: %s\n", com[i].type);printf("商品进货量:%d\n", com[i].quantity1);printf("商品出售量:%d\n", com[i].quantity2);printf("商品进售额:%0.2f\n", com[i].sum1);printf("商品出售额:%0.2f\n", com[i].sum2);printf("商品利润: %0.2f\n", com[i].profit);printf("--------------------------------\n");m = i; //对m进行赋值,删除商品编号所对应的结构体下标printf("请问是否要删除?\n");printf("请输入yes或no:\n");scanf_s("%s", a, 5);if (strcmp(a, b) == 0) //输入yes进行删除模块{for (m; m < N2; m++){com[m] = com[m + 1];}pf = fopen("Shop.txt", "w"); //以写入方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。if (pf == NULL) //判断文件是否打开成功{printf("读取文件失败!\n");exit(0);}for (i = 0; i < N2; i++) //将修改后的商品信息存入文件中{if (com[i].num == 0) //结构体未被初始化部分自动补0,依次判断有效数据输入文本中后跳出循环{continue;}fprintf(pf, "%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}fclose(pf);printf("删除成功!\n");break;}if (strcmp(a, c) == 0) //输入no取消删除{break;}}}}if (j == 2) //进入商品编号删除模块{printf("请输入商品编号:");scanf_s("%d", &num1);printf("--------------------------------\n");for (i = 0; i < N2; i++){if (num1 == com[i].num){printf("要删除的商品信息为:\n"); //删除商品信息显示printf("商品编号: %d\n", com[i].num);printf("商品名称: %s\n", com[i].name);printf("商品价格: %f\n", com[i].price);printf("商品库存: %d\n", com[i].inventory);printf("商品类型: %s\n", com[i].type);printf("商品进货量:%d\n", com[i].quantity1);printf("商品出售量:%d\n", com[i].quantity2);printf("商品进售额:%0.2f\n", com[i].sum1);printf("商品出售额:%0.2f\n", com[i].sum2);printf("商品利润: %0.2f\n", com[i].profit);printf("--------------------------------\n");m = i; //对m进行赋值,删除商品编号所对应的结构体下标printf("请问是否要删除?\n");printf("请输入yes或no:\n");scanf_s("%s", a, 5);if (strcmp(a, b) == 0) //输入yes进行删除模块{for (m; m < N2 - 1; m++){com[m] = com[m + 1];}pf = fopen("Shop.txt", "w"); //以写入方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。if (pf == NULL) //判断文件是否打开成功{printf("读取文件失败!\n");exit(0);}for (i = 0; i < N2; i++) //将修改后的商品信息存入文件中{if (com[i].num == 0) //结构体未被初始化部分自动补0,依次判断有效数据输入文本中后跳出循环{continue;}fprintf(pf, "%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}fclose(pf);printf("删除成功!\n");break;}if (strcmp(a, c) == 0) //输入no取消删除{break;}}}}fclose(pf);
}void sortrank(int number) //排序函数
{struct commdity com1;int i, j;FILE* pf = fopen("Shop.txt", "w"); //以写入方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。if (pf == NULL) //判断文件是否打开成功{printf("读取文件失败!\n");exit(0);}for (i = 0; i < N2; i++) //从文本中读取数据{fscanf_s(pf, "%d %s %f %d %s %d %d %f %f %f", &com[i].num, com[i].name, sizeof(com[i].name), &com[i].price, &com[i].inventory, com[i].type, sizeof(com[i].type), &com[i].quantity1, &com[i].quantity2, &com[i].sum1, &com[i].sum2, &com[i].profit);}if (number == 1){for (i = 0; i < N2 - 1; i++){for (j = 0; i < N2 - 1 - i; j++){if (com[j].num > com[j + 1].num && com[j + 1].num != 0){com1 = com[j + 1];com[j + 1] = com[j];com[j] = com1;}if (com[j].num == 0){break;}}}for (i = 0; i < N2; i++) //将修改后的商品信息存入文件中{if (com[i].num == 0) //结构体未被初始化部分自动补0,依次判断有效数据输入文本中后跳出循环{continue;}fprintf(pf, "%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}fclose(pf);}else if (number == 2){for (i = 0; i < N2 - 1; i++){for (j = 0; i < N2 - 1 - i; j++){if (com[j].price > com[j + 1].price && com[j + 1].num != 0){com1 = com[j + 1];com[j + 1] = com[j];com[j] = com1;}if (com[j].num == 0){break;}}}for (i = 0; i < N2; i++) //将修改后的商品信息存入文件中{if (com[i].num == 0) //结构体未被初始化部分自动补0,依次判断有效数据输入文本中后跳出循环{continue;}fprintf(pf, "%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}fclose(pf);}else if (number == 3){for (i = 0; i < N2 - 1; i++){for (j = 0; i < N2 - 1 - i; j++){if (com[j].inventory < com[j + 1].inventory && com[j + 1].num != 0){com1 = com[j];com[j] = com[j + 1];com[j + 1] = com1;}if (com[j].num == 0){break;}}}for (i = 0; i < N2; i++) //将修改后的商品信息存入文件中{if (com[i].num == 0) //结构体未被初始化部分自动补0,依次判断有效数据输入文本中后跳出循环{continue;}fprintf(pf, "%d %s %f %d %s %d %d %0.2f %0.2f %0.2f\n", com[i].num, com[i].name, com[i].price, com[i].inventory, com[i].type, com[i].quantity1, com[i].quantity2, com[i].sum1, com[i].sum2, com[i].profit);}fclose(pf);}
}
代码中某些地方可能存在瑕疵,大家可对代码进行完善修改优化,提高代码的健壮性。
商品销售信息管理系统(大一C语言课设)相关推荐
- 基于SQLserver实现的商品销售信息管理系统
点击获取源码文档 目录 1 设计目的 3 2 需求分析 3 2.1 系统业务分析 3 2.2 系统功能分析 3 2.3 功能模块分析 3 2.4 系统数据处理分析 4 2.5 系统数据字典 4 3 概 ...
- 小型超市库存与销售管理系统(C语言课设)2021-04-24
#include <stdio.h> #include <stdlib.h> #include<conio.h> #include <windows.h> ...
- 大一c语言课设之图书管理系统
#include<stdio.h> #include<stdlib.h> #include<string.h>int flag; //全局变量,用来定位要操作的结构 ...
- 学生信息管理系统c语言课设,学生信息管理系统C语言课设.doc
学生信息管理系统C语言课设 目录 一.需求分析2 二.概要设计2 三.详细设计4 四.调试分析9 五.用户手册9 六.测试数据9 七.附录10 一.需求分析学生学籍管理系统用数据文件存放学生的学籍,可 ...
- c语言建筑工地管理系统,C语言课设之建筑工地信息管理系统.doc
C语言课设之建筑工地信息管理系统 C 语 言 课 程 实 习 报 告 建筑工地信息管理系统 题目要求 <建筑工地信息管理系统>要求要建立与建筑相关的四个文件信息:1)项目2)工地 3)配件 ...
- c语言设计之歌曲信息管理系统,C语言课设之歌曲信息管理系统
<C语言课设之歌曲信息管理系统>由会员分享,可在线阅读,更多相关<C语言课设之歌曲信息管理系统(10页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计目 录1.题目要求2. ...
- c语言学生学籍管理修改,C语言课设之学生学籍管理系统.doc
C语言课设之学生学籍管理系统.doc 题目学生学籍管理系统 目录一.个人简介.二.报告摘要.三.报告目录.四.报告正文. 1.系统需求分析 2.系统总体设计 3.系统详细设计六.总结. 二.报告摘要 ...
- C语言课设物资管理系统,C语言课设之物资管理系统.doc
C语言课设之物资管理系统 C语言课程设计 目 录 1.需求分析: 2.系统总框图: 3.每个模块的设计分析: 4.列出所有定义的函数及说明: 5.举例说明1.2个比较有特点的算法: 6.数据分析.完备 ...
- 课设 c语言编译学籍管理系统,C语言课设之学生学籍管理系统
<C语言课设之学生学籍管理系统>由会员分享,可在线阅读,更多相关<C语言课设之学生学籍管理系统(10页珍藏版)>请在人人文库网上搜索. 1.题目:学生学籍管理系统 目录:一.个 ...
最新文章
- 去Tech Ed得计划好
- [转]图解APP的商业模式
- Robust 源代码分析之gradle-plugin
- 华为云计算之FusionStorage
- 和鸿蒙系统合作品牌,华为:明年将有超40家主流品牌、1亿台设备成为鸿蒙系统新入口...
- SPOJ- QTREE+HDU 3966(树链剖分裸题
- mui 头部tab代码2
- 为吸引三星建170亿美元芯片厂,德克萨斯州将提供大额财产税减免
- led投屏软件_手机投屏竖屏显示器怎么全屏
- aspx 微型_最初的十亿分钟:正在向世界授课的微型非营利组织背后的数字
- VBS可扩展类库--语音库
- CAD绘制固定矩形批注(网页版)
- 用小马激活的千万小心!!
- 微信屏蔽跳去App Store链接的解决方法
- 2022年G2电站锅炉司炉操作证考试题库及答案
- Jenkins GSoC 2020 机器学习插件项目
- 程序员的算法趣题Q67: 不挨着坐是一种礼节吗?
- 粒子群优神经网络优化
- 解决页面可以左右滑动但无法上下滑动(有坑))
- Git建立远程/本地服务器和git命令的使用
热门文章
- c语言程序设计罗朝盛第三版,c语言程序设计罗朝盛总复习.ppt
- 《古月ROS探索总结》学习笔记2
- Linux服务器硬盘故障后恢复数据的方法和数据恢复过程
- 电商搜索运营知识-拼多多关键词搜索排名规则剖析-拼多多直通车
- XPC connection interrupted
- c++ 图的连通分量是什么_7.1 图的定义与基本术语
- Google Map Event 谷歌地图事件
- 网络安全:DOM型XSS
- 【实验室预约平台系统——开题报告 分享(仅供参考呀)】
- Win控制台下的贪吃蛇(C++)