Exemple #1
0
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);
Exemple #4
0
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);
}