Programalama > C++

Etiketler: dosyadaki, kelimeyi, bulma

Ort. 0
Puan ver:
#include<iostream>
#include<cctype>
#include<string>
#include<fstream>

using namespace std;

int main(){
		
	
	string inbuff,search_key;								//a strings which holds the data and search key
	int sk_size,ib_size,space1=0,space2=0,counter,check=0,mm=0;
	
	ifstream fin( "dosyanın bulunduğu yer/dosya_adi.uzantısı" );
	if ( !fin ){											// opened successfully?
		cout<<"File Couldn't Found\nProgram Executed\n";
		return false;										// if not, return false
	}
	else{											//else give a msj and save the input
		cout<<"Your File Opened Succesfully\n";
		getline(fin,inbuff);
	}
	
	cout<<"Usage Of The Program:\n"
		<<"*search_key --> finds the words that ends with search_key\n"
		<<"search_key* --> finds the words that starts with search_key\n"
		<<"? --> u can use it for one forgetten character in your searchkey\n"
		<<"----------------------------------------------------------------\n"
		<<"Type - to end to program\n";
	
	cin>>search_key;
	sk_size=search_key.size();//holds the size of the search_key
	ib_size=inbuff.size();//holds the size of the inbuff

	if(search_key[0]=='-'){
		cout<<"\nProgram Will now terminated\n";
		return 0;
	}
	else if(search_key[0]=='*'){//is it start with *
		for(int i=0;i<ib_size;i++){//loop for general inbuff
			space1=i;

			if(inbuff[i]==' '){//checks whether the character is equal to ' '

				for(int j=(sk_size-1);j>0;j--){//loop for finding

					if(search_key[j]==inbuff[space1-1] || search_key[j]=='?' || static_cast<int>(search_key[j]+32)==inbuff[space1-1] || static_cast<int>(search_key[j]-32)==inbuff[space1-1]){
						space1--;
						counter++;
						continue;
					}
					else{
						space2=space1+counter;
						break;
					}
				}
				space1=space1+counter;				
			}
			if(counter==sk_size-1){//checks whethet finded
					while(space2!=space1){//yes,print it
						cout<<inbuff[space2];
						space2++;
					}
					cout<<endl;
			}
			counter=0;

		}//end of loop for general inbuff
	}
	else if(search_key[sk_size-1]=='*'){
		cout<<"\nSearch Started...\n";
		for(int i=0;i<ib_size;i++){//loop for general inbuff
			space1=i;
		
			if(inbuff[i]==' '){//checks whether the character is equal to ' ' or at the start point

				for(int j=0;j<sk_size-1;j++){

					if(inbuff[space1+1]==search_key[j] || search_key[j]=='?' || static_cast<int>(search_key[j]+32)==inbuff[space1+1] || static_cast<int>(search_key[j]-32)==inbuff[space1+1]){
						counter++;
						space1++;
						continue;
					}
					else{
						space2=space1-counter;
						break;
					}
				}
				space1=space1-counter;

				if(counter==sk_size-1){
					while(inbuff[space1+1]!=' '){
						cout<<inbuff[space1];
						space1++;
					}
					cout<<inbuff[space1]<<endl;;
				}
				counter=0;
			}
			
			
			
		}//end of loop fpr general inbuff
	}
	else if(search_key[sk_size-1]!='*'&&search_key[0]!='*'){
		search_key[sk_size]='x';
		sk_size++;
		cout<<"\nSearch Started...\n";
		for(int i=0;i<ib_size;i++){//loop for general inbuff
			space1=i;
		
			if(inbuff[i]==' '){//checks whether the character is equal to ' ' or at the start point

				for(int j=0;j<sk_size;j++){

					if(inbuff[space1+1]==search_key[j] || search_key[j]=='?' || static_cast<int>(search_key[j]+32)==inbuff[space1+1] || static_cast<int>(search_key[j]-32)==inbuff[space1+1]){
						counter++;
						space1++;
						continue;
					}
					else{
						space2=space1-counter;
						break;
					}
				}
				space1=i;

				if(counter==sk_size-1 && inbuff[space1+counter+1]==' '){
					while(inbuff[space1+1]!=' '){
						cout<<inbuff[space1];
						space1++;
					}
					cout<<inbuff[space1]<<endl;;
				}
				counter=0;
			}
			
			
			
		}//end of loop fpr general inbuff
	}

				
	return 0;
}
					


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.