int main(void) { Link head; int flag=0; char username[10], choice; printf("----------------------学生评教系统-------------------\n"); printf("请输入用户名:"); scanf("%s", username); printf("请输入密码(六位):"); //if(secret()==1) { printf("\n\n\n密码输入正确!!\n\n"); system("pause"); system("cls"); printf("--------------------欢迎登录学生评教系统-------------------\n\n"); printf("录入学生信息\n"); head = creat_list(); printf("按任意键返回主菜单!"); getch(); fflush(stdin); system("cls"); do { system("cls"); printf("-----------------------------------欢迎来到主菜单-------------------------------\n"); printf("-----------------------------------1. 修改信息---------------------------------\n"); printf("-----------------------------------2. 删除信息---------------------------------\n"); printf("-----------------------------------3. 查询 ---------------------------------\n"); printf("-----------------------------------4. 排序 ---------------------------------\n"); printf("-----------------------------------5. 打印 ---------------------------------\n"); printf("-----------------------------------0. 退出系统---------------------------------\n\n\n"); choice = getch(); fflush(stdin); system("cls"); switch(choice) { case '1': changeNode(head); break; case '2': removeNode(head); break; case '3':search(head); break; case '4':sortbynum(head); break; case '5':print(head); break; case '0':flag=1; break; } }while(flag!=1); } system("pause"); return 0; }
//definition section for setCoefficient void Polynomial::setCoefficient(const double& newCoefficient, const int& power) { if (head == nullptr) { addNode(head, newCoefficient, power); } else if (newCoefficient == 0.00) { removeNode(head, power); } else { changeNode(head, power, newCoefficient);
//definition section for changeNode void changeNode(PolyNode*& cur, int p, double c) { if (cur == nullptr) { addNode(cur, c, p); } else if(cur->power < p) { addNode(cur, c, p); } else if (cur->power == p) { cur->coefficient = c; } else { changeNode(cur->next, p, c);
void filereader(FILE* in, int bflag, char* sym, int n){ FILE* iq = fopen("iq.txt", "w"); FILE* ob = fopen("ob.txt", "w"); int count = 0; if(!bflag){ char ch; int id; while(!feof(in)){ fscanf(in,"%c",&ch); if(ch == 'A'){ char side; char* symbol = (char*)malloc(sizeof(char*)); int quantity; double price; fscanf(in,"%d %c %s %d %lf\n",&id, &side, symbol, &quantity, &price); if(!strcmp(sym,symbol)){ hashAdd(id, side, symbol, quantity, price); //printf("%ld %c %s %d %lf\n", id, side, symbol, quantity, price); //count++; } }else if(ch == 'X'){ char* symbol = (char*)malloc(sizeof(char*)); fscanf(in,"%d %s\n",&id, symbol); hashDel(id); }else if(ch == 'T'){ int id; char* symbol = (char*)malloc(sizeof(char*)); int quantity; fscanf(in, "%d %s %d\n", &id, symbol, & quantity); if(!strcmp(sym,symbol)){ changeNode(id, quantity); } }else if(ch == 'R'){ int id; char* symbol = (char*)malloc(sizeof(char*)); int quantity; double price; fscanf(in, "%d %s %d %lf\n", &id, symbol, &quantity, &price); changePnode(id, quantity, price); }else if(ch == 'C'){ int id; char* symbol = (char*)malloc(sizeof(char*)); int quantity; fscanf(in, "%d %s %d\n", &id, symbol, & quantity); if(!strcmp(sym,symbol)){ changeNode(id, quantity); } } count++; //printf("count %d\n", count); //printf("n in file %d\n", n); if(count == n){ count = 0; double sellPrice = 0.0; double buyPrice = 0.0; if(sell != NULL) sellPrice = sell->price; if(buy != NULL) buyPrice = buy->price; fprintf(iq, "%lf %lf\n", sellPrice, buyPrice); } } }else{ char c; while(!feof(in)){ fread(&c, sizeof(char), 1,in); if(c == 'A'){ int id; char side; char *symbol = (char *) malloc(sizeof(char *)); int quantity; double price; fread(&id,sizeof(int),1,in); fread(&side,sizeof(char),1,in); fread(symbol,sizeof(char),4,in); symbol[strlen(symbol)] = '\0'; fread(&quantity,sizeof(int),1,in); fread(&price,sizeof(double),1,in); if(!strcmp(sym,symbol)){ hashAdd(id, side, symbol, quantity, price); //printf("%ld %c %s %d %lf\n", id, side, symbol, quantity, price); } } if(c == 'X'){ int id; char *symbol = (char *) malloc(sizeof(char *)); fread(&id,sizeof(int),1,in); fread(symbol,sizeof(char),4,in); symbol[strlen(symbol)] = '\0'; hashDel(id); } if(c == 'T'){ int id; char *symbol = (char *) malloc(sizeof(char *)); int quantity; fread(&id,sizeof(int),1,in); fread(symbol,sizeof(char),4,in); symbol[strlen(symbol)] = '\0'; fread(&quantity,sizeof(int),1,in); changeNode(id, quantity); } if(c == 'C'){ int id; char *symbol = (char *) malloc(sizeof(char *)); int quantity; fread(&id,sizeof(int),1,in); fread(symbol,sizeof(char),4,in); symbol[strlen(symbol)] = '\0'; fread(&quantity,sizeof(int),1,in); changeNode(id,quantity); } if(c == 'R'){ int id; char *symbol = (char *) malloc(sizeof(char *)); int quantity; double price; fread(&id,sizeof(int),1,in); fread(symbol,sizeof(char),4,in); symbol[strlen(symbol)] = '\0'; fread(&quantity,sizeof(int),1,in); fread(&price,sizeof(double),1,in); changePnode(id, quantity, price); } } } printhash(ob); }