#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");
}
}
}