Esempio n. 1
0
int main(){
	char msg[100][50];//arr of str input
	int i=0, counter=-1;// var loop dan penghitung kata
	while(strcmp(msg[i-1], "end")!=0){//jika end diinput maka berhenti
		scanf("%s", msg[i]);//input kata
		i+=1;
		if (strcmp(msg[i], "end")!=0 && counter<10){//kata yang dihitung hanya 10
			//karena counter dipakai dalam batasan pada prosedur
			//maka ini menjadi batasan dari jumlah kata yang di proses
			counter+=1;
		}
	}
	
	int swap;//variabel jumlah baris huruf yang akan ditukar
	scanf("%d", &swap);//input jumlah baris huruf yang akan ditukar
	char swapchar1[100], swapchar2[100];//arr huruf yang akan ditukar
	
	for (i = 0; i < swap; i+=1){
		scanf(" %c %c", &swapchar1[i], &swapchar2[i]);//input setiap huruf yang akan ditukar(jika ada)
	}
	char tempchar, temp[500], tempvoc[300], temparostr[100][50];//char. array, dan arr of string temporari
	movetotemp(counter, temp, msg);
	//prosedur pengkopian setiap char ke dalam satu string

	int lentem=strlen(temp);//panjang temp array

	if(swap!=0){//jika input jumlah baris bukan nol
		///////lakukan prosedur berikut
		//prosedur pengecekan dan penggantian char
		checkchar(lentem, swap, temp, swapchar1, swapchar2);
		//prosedur pengkopian kembali char setelah di rubah
		returnchar(counter, msg, temp);
	}else if (swap==0){//jika input jumlah baris nol
		//////lakukan prosedur berikut
		//prosedur pengambilan huruf vokal
		vocaltotempvoc(lentem, temp, tempvoc, tempchar);
		//prosedur pengembalian vokal
		swapstartotempvoc(lentem, temp, tempvoc);
		//prosedur pengembalian ke arr of string msg
		movetomsg(counter, msg, temp);
		//prosedur pengkopian arr of string
		movetotemp2(counter, temparostr, msg);
		//prosedur pembalikan kata
		reversechar(counter, msg, temparostr);
		//prosedur pembalikan urutan kata
		returnreverestring(counter, msg, temparostr);
	}

	for (i = 0; i < counter; ++i)
	{
		printf("%s", msg[i]);
		if (i<counter-1){//print spasi di setiap akhir kata
			printf(" ");
		}else{//kecuali kata terakhir
			printf("\n");//print newline
		}
	}
	return 0;
}
Esempio n. 2
0
int main()
{
	char msg[100][50];
	int i=0, j, k, counter=-1, idx=0;
	while(strcmp(msg[i-1], "end")!=0){
		scanf("%s", msg[i]);
		i+=1;
		if (strcmp(msg[i], "end")!=0 && counter<10)
		{
			counter+=1;
		}
	}
	
	int swap;
	scanf("%d", &swap);
	char swapchar1[100], swapchar2[100];
	
	for (i = 0; i < swap; i+=1)
	{
		scanf(" %c %c", &swapchar1[i], &swapchar2[i]);
	}
	char tempchar, temp[500], tempvoc[300], temparostr[100][50];
	///////////////////////////////
	movetotemp(counter, temp, msg);

	int lentem=strlen(temp);

	if(swap!=0){
		checkchar(lentem, swap, temp, swapchar1, swapchar2);
		returnchar(counter, msg, temp);
	}else if (swap==0){
		vocaltotempvoc(lentem, temp, tempvoc, tempchar);
		swapstartotempvoc(lentem, temp, tempvoc);

		movetomsg(counter, msg, temp);
		movetotemp2(counter, temparostr, msg);

		reversechar(counter, msg, temparostr);
		returnreverestring(counter, msg, temparostr);
	}

	for (i = 0; i < counter; ++i)
	{
		printf("%s", msg[i]);
		if (i<counter-1)
		{
			printf(" ");
		}else{
			printf("\n");
		}
	}
	return 0;
}
void show(int n)
{
	int i,count;
	char ch;

	do{
		system("cls"); 
		printf("请输入您想显示的顺序\n");
		printf("(1)按热度排序\t(2)按评分排序\n");
		printf("(3)按名字排序\n");
		scanf("%d",&i);
	}while(checkj(i));	//checkj函数不在这里。。 //检查是否为1-3中排序方式一种 (总头文件中可以找到 )			
	switch(i)									//按给定的方式排序
	{
		case 1:
			qsort(disk,n,sizeof(disk[0]),cmpheat);
			break;
		case 2:
			qsort(disk,n,sizeof(disk[0]),cmpmark);
			break;
		case 3:
			qsort(disk,n,sizeof(disk[0]),cmpname);
			break;
	}
	i=0;
	do{
		printf("名字\t\t 制片国     类型      借阅情况 热度 评分\n");
		for(count=0;count<5&&i<n;i++,count++)
		{
			printf("%-15s %-8s ",disk[i].name,disk[i].nation);
			printf("  %-10s    ",disk[i].type);
			if(disk[i].flag)printf("可借  ");
			else printf("不可借   ");
			printf("%-3d   %.1f",disk[i].heat,disk[i].mark);
			printf("\n");
		}					//一次打印五部电影
		if(i<n)
		{
			printf("输入c继续显示,输入q返回菜单\n");
			getchar();
			do{
				scanf(" %c",&ch);
			}while(checkchar(ch));
		}
	}while(ch == 'c'&&i<n);
}