You can buy bitcoin with cash using localbitcoins like p2p trading platform;
1. Find someone near you willing to sell his/her bitcoin for cash.
2. Meet him and exchange your cash for bitcoin.
3. You will get better rate than usual exchanges + bitcoin ATMS.
Bitcoin ATM might charge you anywhere around 5% and exchanges like coinbase around 3.75% (might differ based on payment methods).
Ways to buy bitcoin with credit card :
https://www.buybitcoinworldwide.com/en/buy-bitcoin-credit-debit-card/How to buy bitcoin using cash :
https://www.buybitcoinworldwide.com/en/buy-bitcoins-with-cash/