C模板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
#include<stdio.h> #include<string.h> #include<stdlib.h> /* 1.别在for里面定义变量 2.没有bool类型 3.判断char[]相等: strcmp(c1,c2) == 0 4.char[]数组赋值: char[]数组不能和string那样直接赋值,这里调用string.h的函数 memcpy(c[j].type, c[j + 1].type, strlen(c[j].type)); */ typedef struct { char type[20];//车辆类型 char brand[20];//品牌 char id[30];//车牌号 int price;//价格 }car; //水平线 void hr() { printf("--------------------------------------------------------------------------------------------------------\n"); } //标题 void printTitle() { hr(); printf("\t\t\t\t\t\t\t\t\n"); printf("\n"); } //菜单 void menu() { system("pause"); system("cls"); system("color 4E");//黑框界面颜色 printf("************欢迎进入系统***********\n"); printf("\t1.\n"); printf("\t2.\n"); printf("\t3.\n"); printf("\t4.\n"); printf("\t5.\n"); printf("\t6.退出系统\n"); } //结构体自定义排序函数 int cmp1(const void* a, const void* b) { car* aa = (car*)a;//空类型指针强制转为结构体指针 car* bb = (car*)b; //这里sort函数中的自定义规则是大于号,qsort中写-号 return aa->price - bb->price;//price价格不同的时候,按照价格的升序排序 } //结构体自定义排序降序函数 int cmp2(const void* a, const void* b) { car* aa = (car*)a;//空类型指针强制转为结构体指针 car* bb = (car*)b; //这里sort函数中的自定义规则是大于号,qsort中写-号 return bb->price - aa->price;//price价格不同的时候,按照价格的降序排序 } //价格升序排序函数 void sort_up() { qsort(c, n, sizeof(c[0]), cmp1); } //价格降序排序函数 void sort_down() { qsort(c, n, sizeof(c[0]), cmp2); } //写入文件 void InputFile() { FILE* fp;//操作文件的指针fp //打开存储的文件data,如果没有就新建一个 fp = fopen("data.txt", "wt+"); //行文件中写入分隔符 fprintf(fp, "---------------------------------------------------------------------------------------------------------------------------\n"); //向文件中写入标题 fprintf(fp, "车辆类型\t\t品牌\t车牌号\t\t价格(万)\t\t车主姓名\t年龄\t性别\t地址\n"); int i; for (i = 0; i < n; i++, p++) { fprintf(fp, "%s\t\t%s\t%s\t\t%d\t\t%s\t\t%d\t%s\t%s\n", c[i].type, c[i].brand, c[i].id, c[i].price, c[i].p.name, c[i].p.age, c[i].p.sex, c[i].p.address); } } int main(){ while (1) { menu(); int choice; scanf("%d", &choice); if (choice == 1) { } else if(choice == 2){ } else if(choice == 3){ } else if(choice == 4){ } else if(choice == 5){ } else if(choice == 6){ } else { printf("输入有误,请重新输入\n"); } } } |